2014-11-02 2 views
0

У меня есть регулярное выражение, которое не соответствует ...Character Class и анкеры в C# Regex

string command = "browser help"; 
Match match = Regex.Match(command, @"^browser\s[help]$"); 

if(match.Success == false) { 
    Console.WriteLine("Doesn't match"); 
} 

Тем не менее, это соответствует ...

Match match = Regex.Match(command, @"^browser\shelp$"); 

Я на самом деле не с просьбой о кто-то решил это для меня, просто скажи мне, почему.

спасибо.

+1

Что именно вы пытаетесь найти? –

+0

Строковая переменная 'command'. Я собирался добавить «^ браузер \ s [help \ s [load | go | закрыть]]», но это не работает. –

+0

, так что вам в основном нужно сопоставить браузер слов, за которым следует какой-либо заранее определенный набор слов? Например, помощь, загрузка, закрытие и т. Д.? –

ответ

1

Непонятно, что вы просите. Но стоит отметить, что квадратные скобки в регулярном выражении указывают набор символов. Таким образом, выражение «[help]» означает соответствие символа, где этот символ - «h», «e», «l» или «p».

Если вы хотите совместить несколько слов, используйте круглые скобки. Например. "(Груз | идти | закрыть)".

+0

Это работает. У меня было неправильное впечатление, что класс персонажа. Благодарю. –