我使用以下模式查找两个单词之间的所有数据,放在多行中。
/ START(。+?)END /
但这似乎并没有像预期的那样奏效。有人可以帮我解决一个确切的模式。
感谢。
答案 0 :(得分:2)
使用s
标志:使用此标记,点(.
)也会匹配换行符。
/start(.+?)end/s
答案 1 :(得分:1)
你的意思是你想匹配像
这样的东西START
blah blah blah
more blah
and even more blah
END
?由于.
默认情况下不匹配换行符,因此您的正则表达式将无效。您需要提供单行(也称为“dot-all”)/s
标志以使其与换行符匹配。
/START(.+?)END/s
答案 2 :(得分:0)
假设您可以使用Python作为示例。
>>> s="""
... START
... blah1 blah2
... more blah
... and even more blah
... END blah3 blah4 blah5 START blah 6
... text here here
... blah7 END ......
... START end END
... """
>>> for item in s.split("END"):
... if "START" in item:
... print item [ item.find("START")+len("START") : ]
...
blah1 blah2
more blah
and even more blah
blah 6
text here here
blah7
end
将字符串拆分为“END”,浏览每个拆分项,检查START,然后执行子字符串。使用首选语言的拆分方法。