例如,这个正则表达式
(.*)<FooBar>
将匹配:
abcde<FooBar>
但我如何让它在多行之间匹配呢?
abcde
fghij<FooBar>
例如,这个正则表达式
(.*)<FooBar>
将匹配:
abcde<FooBar>
但我如何让它在多行之间匹配呢?
abcde
fghij<FooBar>
当前回答
我们也可以用
(.*?\n)*?
匹配所有内容,包括换行符,而不是贪心。
这将使新行成为可选的
(.*?|\n)*?
其他回答
试题:* \ n *。*<FooBar>假设你也允许空换行。因为你允许任何字符在<FooBar>之前不包括任何字符。
([\ s \ s] *) < FooBar >
点匹配除换行符(\r\n)以外的所有字符。所以使用\s\ s,它将匹配所有字符。
这对我来说是最简单的方法:
(\X*)<FooBar>
"."通常不匹配换行符。大多数正则表达式引擎允许您添加s标志(也称为DOTALL和SINGLELINE)来使“.”也匹配换行符。 如果失败了,你可以做一些类似[\S\ S]的事情。
Use:
/(.*)<FooBar>/s
s使点(.)匹配回车符。