PCRE正则表达式包含'。'匹配所有字符串而不是部分

时间:2012-03-12 11:58:22

标签: regex pcre

这是我的正则表达式:

/bar.*\d\sfoo/

输入字符串:

bar something 1 foo bar something 2 foo bar

匹配:

bar something 1 foo bar something 2 foo

而不是:

bar something 1 foo
bar something 2 foo

有办法解决这个问题吗? 注意:除了新行之外,有些是任何字符。

2 个答案:

答案 0 :(得分:3)

您应该在*之后添加?,以使/bar.*?\d\sfoo/ 不情愿或懒惰:

{{1}}

答案 1 :(得分:0)

你应该使用“懒惰”操作符“?”为了匹配最小的模式,否则 它匹配到最大匹配。 这是更正版本:

/bar.*?\d\sfoo/

见这里: http://regexr.com?309sa