Javascript Regex Lookbehind 替代方案 [英] Javascript Regex Lookbehind Alternative
本文介绍了Javascript Regex Lookbehind 替代方案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想捕捉没有空格的单词.
I want to catch word with non-space.
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 不支持它.有没有替代的解决方案?
This prints: [" kişiler"] but I want this result: ["kişiler"] I must use Positive Lookbehind but it is not supported in JavaScript. Is there an alternative solution?
推荐答案
既然你不能使用 unicode 字符的单词边界,让我们匹配空格但将单词分组以检索它:
Since you can't use word boundaries with unicode characters, let's match the spaces but group the word to retrieve it :
(?:^|\s)(<your word>)(?:\s|$)
匹配后,第 1 组应该是预期的单词.
After a match, group 1 should be the expected word.
例如:
var regex = /(?:^|\s)(kişiler)(?:\s|$)/
var paragraphy="Apple banana kişiler ki örnek foo."
paragraphy.match(regex)[1]
> "kişiler"
这篇关于Javascript Regex Lookbehind 替代方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文