Как я могу поймать произвольную строку между определенными словами, используя регулярные выражения? - PullRequest
1 голос
/ 06 мая 2010

Как я могу поймать произвольную строку между определенными словами, используя регулярные выражения в .Net, например, @ ”… DEFINED_WORD1 some_arbitrary_string DEFINED_WORD2…”? К сожалению, мои эксперименты с «(? =)» И другими шаблонами не увенчались успехом: (

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Это поймает что-нибудь между словами, если есть пробел после первого слова и перед вторым. Если после WORD1 имеется несколько вхождений WORD2, будет учтено первое.

WORD1 (.*?) WORD2

Это то же самое, но не требует пробелов (например, "WORD1, some string WORD2" будет соответствовать):

WORD1\b(.*?)\bWORD2

Это начнется с первого WORD1 и продолжится до последнего WORD2:

WORD1\b(.*)\bWORD2

В зависимости от деталей вашего дела это может быть чище и проще без регулярных выражений.

2 голосов
/ 06 мая 2010
"A(.*?)Z"

Это будет захватывать строки между "A" и "Z" в группу 1.

Смотрите также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...