假设您知道某些文本部分的起始行和结束行,但某些行中的字符和起始行与结束行之间的行数是可变的,ála:
AAA
BBBB
CC
...
...
...
XX
YYY
ž
你使用什么量词,如:
AAA \ nbbbb \ NCC \ N(。* \ n)的+ XX \ nyyy \ nZ上\ n
将这些文本部分分组?
答案 0 :(得分:0)
您可以使用s
标记来匹配多行文字,您可以这样做:
~\w+ ~s
。
这里有一个类似的问题:
Javascript regex multiline flag doesn't work
答案 1 :(得分:0)
如果我理解正确,您知道您的文字以aaa\nbbbb\ncc
开头,以xx\nyyy\nZ\n
结尾。您可以使用aaa.+?bbbb.+?cc(.+?)xx.+?yyy.+?Z
,以便所有操作员都不会贪婪,并且您不会意外地同时捕获两个组。这些组之间的文本将位于匹配组1中。您还需要转动导致点匹配新行的设置。
答案 2 :(得分:0)
试试这个:
aaa( |\n)bbbb( |\n)cc( |\n)( |\n){0,1}(.|\n)*xx( |\n)yyy( |\n)Z
(| \ n)匹配空格或换行符(因此您的起始和结束短语可以拆分为不同的行)
答案 3 :(得分:0)
在一天结束时,使用Kate对我有用的是:
( )+aaa\n( )+bbbb\n( )+cc\n(.|\n)*( )+xx\n( )+yyy\n( )+Z\n
使用这样的正则表达式可以清除相当多的垃圾页面。