Регулярное выражение - получить строку между 2 строками - PullRequest
0 голосов
/ 17 ноября 2018

У меня проблемы с извлечением строки между двумя строками / шаблоном.

Это то, что я получил до сих пор: https://regex101.com/r/yuoQha/1

enter image description here

Проблема, с которой я столкнулся, заключается в том, что я получаю слишком длинную строку с разработанным мною кодом RegEx, потому что кажется, что RegEx выполняет поиск в обратном направлении?

Я пометил красным, что мне нужно только. Как мне изменить мой шаблон RegEx? Имеет ли Lookahead / Lookbehind какое-то отношение к решению? В конце он должен работать с VBA. Любая помощь высоко ценится.

1 Ответ

0 голосов
/ 17 ноября 2018

Попробуйте этот шаблон:

OEM[]]]><[\/]Name><Value>(.*?NameValueList.*?)(?=<[\/]Value><[\/]NameValueList)

Это точно соответствует оранжевому на вашем изображении.

К вашему сведению, ? после .* должны сделать его не жадным. Нужно добавить туда NameValue, поскольку вы хотите, чтобы оно появилось один раз в вашем шаблоне.

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