2012-03-23 2 views
1

может кто-нибудь помочь мне, чтобы соответствовать следующий тип строк «BEREŽALINS», «Гжибовский» в C# и JS, я пыталсяимена совпадают с юникод символов

\A\w+\z   (?>\P{M}\p{M}*)+    ^[-a-zA-Z\p{L}']{2,50}$ 

, и так далее ... но ничего работает . Благодаря

+4

http://stackoverflow.com/questions/9558015/asp-net -use-чешско-символов-в-регулярное выражение/9558058 # 9558058 –

ответ

0

Просто написал небольшой консоли приложение, чтобы сделать это:

private static void Main(string[] args) { 
     var list = new List<string> { 
      "BEREŽALINS", 
      "GŽIBOVSKIS", 
      "TEST" 
     }; 
     var pat = new Regex(@"[^\u0000-\u007F]"); 
     foreach (var name in list) { 
      Console.WriteLine(string.Concat(name, " = ", pat.IsMatch(name) ? "Match" : "Not a Match")); 
     } 

     Console.ReadLine(); 
    } 

Работает с двумя примерами, которые мне дали, но не уверен, что все сценарии :)

0

Можете ли вы дать пример что должно быть не матч?

Чтение вашего вопроса, это похоже на то, что вы хотите соответствовать только строке (возможно, на отдельной строке). Если то случай просто использовать

^.*$ 

В C# это становится

foundMatch = Regex.IsMatch(SubjectString, "^.*$", RegexOptions.Multiline); 

И в JavaScript это

if (/^.*$/m.test(subject)) { 
    // Successful match 
} else { 
    // Match attempt failed 
} 
Смежные вопросы