我有我的PHP脚本像这样的正则表达式:非ASCII的情况下正则表达式字边界
/(\b$term|$term\b)(?!([^<]+)?>)/iu
这包含在$期限匹配单词,只要有之前或之后和单词边界它不在HTML标签内。
然而,这并不非ASCII情况下工作,例如与俄文本。有没有办法让它工作?
我可以得到几乎一样好结果与
/(\s$term|$term\s)(?!([^<]+)?>)/iu
但这显然更加有限,因为这个正则表达式是关于突出搜索词,它包括在高亮的空间的问题。
我读过this StackOverflow question about the problem,但它并不能帮助 - 无法正常工作。在那个例子中,捕获是相反的方式(当我需要捕获搜索词时,捕获搜索词以外的文本)。
什么办法,使这项工作?谢谢!
谢谢。我结束了这个: /(?<=[\s.,;:]]((term)(?!([^ <]+)?>)/ iu 它工作得很好,但我该怎么做另一个我试过 (?<= [\ s。,;:])($ term | $ term)(?= [\ s。,;:])(?!([^ <]+)?>)/ iu 但这不起作用嗯,这并不重要 - 我甚至不确定匹配出现在单词末尾的术语是个好主意 – 2011-04-15 03:54:38