Как извлечь конкретную строку после совпадения с регулярным выражением - PullRequest
1 голос
/ 28 марта 2019

Учитывая ключевое слово Product data sheet как мне извлечь 3-ю строку только после этого совпадения.

Например, приведенные ниже данные должны выводить XB4BW84M5

Product data sheet
Characteristics
XB4BW84M5

Я пытался (Product data sheet)\r\n(.*?)(^.*\r\n){3}, но это значит, что нужно найти что-то, перед которым стоят 2 строки, а затем ключевое слово, но он извлекает все 3 строки, которые мне нужны, только 3-я строка

1 Ответ

4 голосов
/ 28 марта 2019

Используйте этот шаблон: (?<=Product data sheet)\r?\n.+\r?\n(.+)

Пояснение:

(?<=Product data sheet) - утверждать, что предшествует Product data sheet

Если утверждение верно, то оно соответствует символу новой строки с \r?\n, затем соответствует всей строке с .+, что означает «соответствовать одному или нескольким любым символам», а затем снова, чтобы соответствовать символу новой строки, который я использовал \r?\n и затем (.+) для сохранения во второй строке группы захвата после нужной строки.

Демо

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