非ASCII情况下的正则表达式字边界
|
我的PHP脚本中有一个正则表达式,如下所示:
/(\\b$term|$term\\b)(?!([^<]+)?>)/iu
只要$ term前后都有单词边界且不在HTML标记内,则此匹配$ term中包含的单词。
但是,这不适用于非ASCII情况,例如俄语文本。有办法使它起作用吗?
我可以得到几乎一样好的结果
/(\\s$term|$term\\s)(?!([^<]+)?>)/iu
但这显然更受限制,并且由于此正则表达式用于突出显示搜索词,因此存在在突出显示中包含空格的问题。
我已经阅读了有关此问题的StackOverflow问题,但这无济于事-无法正常工作。在该示例中,捕获是相反的方式(当我需要捕获搜索词时,捕获搜索词之外的文本)。
有什么办法可以使这项工作吗?谢谢!
没有找到相关结果
已邀请:
2 个回复
靛新比比催
舜辉