正则表达式将字符串与none匹配到多个连字符

时间:2017-04-25 09:37:34

标签: php regex

嗨我需要匹配一个字符串,字符串之间可以有0+个连字符。我正在使用PHP preg-match来做到这一点。字符可以是大写或小写。以下是一些例子:

TESTTESTtest published successfully
test-TEST-test published successfully
Test-test published successfully

我的正则表达式需要捕获所有这些不同的情况。

我逐行记录日志并尝试将下面的正则表达式与每行匹配。

这是我目前的if声明:

if(preg_match('/(\w*) published successfully/',$line,$matches){

}

我只是使用\ w *作为我的角色捕获,因为我之前不需要担心连字符,但我需要调整它来处理新的场景。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果您不需要担心null这样的边缘情况,您只需要将----- published successfully\w添加到字符类 {{ 1}}(我还建议使用-量词来匹配1个或多个匹配项,而不是0或更多,以避免获得空匹配):

[...]

请参阅regex demo