PHP正则表达式改进2.0

时间:2011-12-06 23:19:36

标签: php regex preg-match

Hello All

感谢 @FailedDev 我目前的正则表达式在 preg_match 中用于shoutbox。我在这个问题中试图实现的是允许正则表达式不区分大小写,并允许它允许在“关键字”中使用空格,在这种情况下是fred。

/(?<=^|\s)(?:\bfred\b|\$[$\w]*fred\b)/x


有关背景信息,请参阅参考链接。

Reference


感谢您对此提供任何帮助。


更新:感谢一些有用的信息,我提出了以下正则表达式,它可以满足我的需要,但我觉得它不是最有效的解决方案。

~(?:(?<=\s|^)[$\S]*|\b)f+(?:\.+|\s+)?r+(?:\.+|\s+)?e+(?:\.+|\s+)?d+(?:\.+|)?\b~i

1 个答案:

答案 0 :(得分:3)

如果您想使其不区分大小写,请使用/i modifier

要允许额外的空格,请使用\s*表示可变数量的空白字符,或[ ]?表示单个optional空格。

另请参阅preg_match上的手册以及PCRE syntax overviewhttp://regular-expressions.info/上的教程。另请参阅参考问题Is there anything like RegexBuddy in the open source world?以获取有助于制作正则表达式的工具列表。并some useful online tools

相关问题