例如,这个正则表达式

(.*)<FooBar>

将匹配:

abcde<FooBar>

但我如何让它在多行之间匹配呢?

abcde
fghij<FooBar>

当前回答

试试这个:

((.|\n)*)<FooBar>

它基本上是说“任何字符或换行符”重复0次或多次。

其他回答

一般来说,。不匹配换行符,因此try ((.|\n)*)<foobar>。

在基于java的正则表达式中,可以使用[\s\ s]。

选项1

一种方法是使用s标志(就像接受的答案一样):

/(.*)<FooBar>/s

演示1

选项2

第二种方法是使用m (multiline)标志和以下任何模式:

/([\s\S]*)<FooBar>/m

or

/([\d\D]*)<FooBar>/m

or

/([\w\W]*)<FooBar>/m

演示2

RegEx电路

jex。Im可视化正则表达式:

这取决于语言,但应该有一个可以添加到正则表达式模式的修饰符。在PHP中是:

/(.*)<FooBar>/s

结尾的s使点匹配所有字符,包括换行符。

这对我来说是最简单的方法:

(\X*)<FooBar>