Hello All ,
感谢 @FailedDev 我目前的正则表达式在 preg_match 中用于shoutbox。我在这个问题中试图实现的是允许正则表达式不区分大小写,并允许它允许在“关键字”中使用空格,在这种情况下是fred。
/(?<=^|\s)(?:\bfred\b|\$[$\w]*fred\b)/x
有关背景信息,请参阅参考链接。
感谢您对此提供任何帮助。
更新:感谢一些有用的信息,我提出了以下正则表达式,它可以满足我的需要,但我觉得它不是最有效的解决方案。
~(?:(?<=\s|^)[$\S]*|\b)f+(?:\.+|\s+)?r+(?:\.+|\s+)?e+(?:\.+|\s+)?d+(?:\.+|)?\b~i
答案 0 :(得分:3)
如果您想使其不区分大小写,请使用/i
modifier。
要允许额外的空格,请使用\s*
表示可变数量的空白字符,或[ ]?
表示单个optional空格。
另请参阅preg_match
上的手册以及PCRE syntax overview和http://regular-expressions.info/上的教程。另请参阅参考问题Is there anything like RegexBuddy in the open source world?以获取有助于制作正则表达式的工具列表。并some useful online tools。