你怎么匹配'foo'和'bar'包围的东西而不匹配foo和bar?

时间:2010-02-23 17:35:00

标签: regex

与正则表达式相反:'foo.+bar'

4 个答案:

答案 0 :(得分:5)

使用小组:

foo(.+?)bar

然后,您可以将该群组称为$1\1,具体取决于语言以及您正在使用的内容。

与往常一样,我建议Regular-Expressions.info了解有关正则表达式的所有信息。

答案 1 :(得分:2)

如果你正在使用的正则表达式(你没有指定)支持它,那么另一种方法是使用环视。 .NET,Python,Ruby和JavaScript没有(完全),例如:

(?<=foo).+(?=bar)

匹配任意数量的字符(如果前面有foo后跟bar

答案 2 :(得分:1)

只需使用:

/foo(.+)bar/

答案 3 :(得分:0)

您可以使用:

foo(.+?)bar

foo(.*?)bar

即使foo和bar之间没有任何内容,第二个也能正常工作