例如,这个正则表达式

(.*)<FooBar>

将匹配:

abcde<FooBar>

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

abcde
fghij<FooBar>

当前回答

对于Eclipse,下面的表达式是有效的:

喷火 jadajada酒吧”

正则表达式:

Foo[\S\s]{1,10}.*Bar*

其他回答

我想在Java中匹配一个特定的if块:

   ...
   ...
   if(isTrue){
       doAction();

   }
...
...
}

如果我使用regExp

if \(isTrue(.|\n)*}

它包含方法块的右大括号,所以我使用

if \(!isTrue([^}.]|\n)*}

从通配符匹配中排除结束大括号。

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

/(.*)<FooBar>/s

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

我们也可以用

(.*?\n)*?

匹配所有内容,包括换行符,而不是贪心。

这将使新行成为可选的

(.*?|\n)*?

Use:

/(.*)<FooBar>/s

s使点(.)匹配回车符。

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

(\X*)<FooBar>