我有我的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