我无法在Javascript中使用此正则表达式字符串:
var input = $("input").val();
var hi = "(?<=[^ ])" + input + "(?=[$ ])";
var reg = new RegExp(hi);
alert(reg);
最后一行不起作用,但在正则表达式有效时它确实有效。我将变量放入第二个字符串进行完整的正则表达式搜索,然后将其传递给正则表达式对象。为什么这个正则表达式查询无效? (如果你想知道,括号中的字符是空格,zwsp,nbsp和zwj。)
答案 0 :(得分:1)
JavaScript正则表达式不支持look-behind。
但是,它们确实支持前瞻,所以如果你真的需要这个功能,你可以反转输入并将表达式“向后”写。如果你同时想要前瞻和后视,这会有点复杂。由于你还没有透露你实际想要实现的目标,你可以避免零宽度匹配,只使用普通的捕获组。