我想用非空格来吸引大家的注意。
var paragraphy="Apple banana kişiler ki örnek foo.";
var word="kişiler";
var regex = new RegExp("(?:[\\s>]|^)("+word+")(?=[.,;?!]?(?:[<\\s])|$)", "gi");
console.log(paragraphy.match);
打印:[“kişiler”],但我想要这个结果:[“kişiler”]
我必须使用Positive Lookbehind,但JavaScript不支持它。有替代解决方案吗?
最佳答案
由于您不能将单词边界与Unicode字符一起使用,因此让我们匹配空格,但将单词分组以进行检索:
(?:^|\s)(<your word>)(?:\s|$)
比赛后,第1组应该是期望的单词。
例如 :
var regex = /(?:^|\s)(kişiler)(?:\s|$)/
var paragraphy="Apple banana kişiler ki örnek foo."
paragraphy.match(regex)[1]
> "kişiler"