У меня есть следующий текст:Получить первое вхождение матча в Regex
«кошка лев собаки мышь»
И я ищу «собаку» или «мышь» с помощью регулярных выражений:
Regex regex = new Regex(@"dog|mouse");
Способ, которым Regex в C# ведет себя, состоит в том, что он сначала ищет весь путь для слова dog. Если он находит совпадение, он останавливается. Как заставить его остановиться после обнаружения первого появления какого-либо из моих слов в регулярном выражении, то есть остановиться после «cat», как это происходит первым?
Должен ли я делать несколько поисков регулярных выражений и соответствовать индексам результатов? Или можно указать его в выражении регулярного выражения?
* означает остановку после «кошки», поскольку это происходит первым? *, Но ваше регулярное выражение - 'собака | мышь'? – aiapatag
Это не «первый поиск собаки». Если ваш текст был «собакой мыши», мышь будет сопоставлена (первая), независимо от того, что занимает второе место в регулярном выражении. Он ищет все выражение слева. –
@NicholasW Просто проверил себя, и вы правы ^^ – Rawling