如何忽略正面展望(正则表达式)的第一个换行符



我正在尝试在匹配某个单词("METROS"(之前提取文本,并且我正在努力解决换行符(""(。我只想忽略比赛前的第一个换行符(而不是第二个(。

有什么建议吗?

原始文本: 拿督德尔卢格 MIDE UNA SUPERFICIE DE CINCUENTA Y\N新芙地铁夸德拉多斯。

我想要的文本:MIDE UNA SUPERFICIE DE CINCUENTA Y 新芙

我正在使用的正则表达式:

([^\n{1}]n.*)(?=METROS)

到目前为止我的结果:Y 新芙

提前谢谢你!

或者,您也可以使用捕获组获取值。

匹配不带换行符的可选前导空格字符。然后启动与该行的其余部分(包括换行符(匹配的捕获组。在下一行继续使用非贪婪.*?量词捕获 METROS 第一次出现之前的内容。

^[^Srn]*(.*r?n.*?) METROSb
  • ^行首
  • [^Srn]*匹配不带换行符的可选前导空格字符
  • (捕获组 1
    • .*r?n.*?
  • )关闭组
  • METROSb匹配一个空格,METROS后跟一个单词赏金

正则表达式演示

试试这个(^.*n?.*)(?=METROS)

请删除""后面的?,如果在METROS之前总是有一个换行

(.*n{1})(.*n.*)(?=METROS)

我可以想到的正则表达式(第二组(。如果上述内容不适合您,则更大的示例会有所帮助。

最新更新