Я новичок в Regex и не могу понять, как соответствовать следующим в C# с использованием Regex.Matches
Regex соответствие простого выражения
left -> right
Я попытался "(\w) -> (\w)"
, но я думаю, что я далеко.
Я новичок в Regex и не могу понять, как соответствовать следующим в C# с использованием Regex.Matches
Regex соответствие простого выражения
left -> right
Я попытался "(\w) -> (\w)"
, но я думаю, что я далеко.
Не далеко, что вам нужно:
(\w+) -> (\w+)
Я бы порекомендовал this руководство для изучения регулярных выражений.
Match m = Regex.Match("left -> right", @"(\w+) -> (\w+)");
Console.WriteLine(m.Groups[1]); //left
Console.WriteLine(m.Groups[2]); //right
Спасибо, но когда я пытаюсь что с помощью 'Regex.Matches ("влево -> вправо", @ "(\ W +) -> (\ W +)");' Я получаю один захват для целая строка, а не два отдельных захвата с «левым» и «правильным». – Martin
@Martin, вам нужно проверить соответствие 'Groups'. Если вы хотите два совпадения, используйте только '\ w +', но это будет соответствовать каждому слову –
* Regex.Matches ("left -> right", @ "(\ w +) -> (\ w +)") [0]. Группы [1] * совпадают слева. * Группы [2] * соответствуют справа. Примечание * Группы [0] * будут соответствовать всей строке. –