正则表达式匹配后如何提取特定行

时间:2019-03-28 10:21:41

标签: regex

给出一个关键字Product data sheet,我该如何在匹配之后仅提取第三行

例如,给定以下数据,输出应为XB4BW84M5

Product data sheet
Characteristics
XB4BW84M5

我尝试过(Product data sheet)\r\n(.*?)(^.*\r\n){3},但是,就是先找到2行,然后再找到关键词,但是它会提取我只需要第3行的所有3行

1 个答案:

答案 0 :(得分:4)

使用此模式:(?<=Product data sheet)\r?\n.+\r?\n(.+)

说明:

(?<=Product data sheet)-断言前面是Product data sheet

如果断言为true,则将新行字符与\r?\n匹配,然后将整行与.+匹配,即“匹配任何一个或多个字符”,然后再次匹配匹配换行符我使用了\r?\n,然后使用(.+)将其存储在捕获组中所需字符串之后的第二行。

Demo