我有一个如下所示的正则表达式:
var myRegex = /%([a-z_]*)%/i
这匹配任何子字符串,例如%foo%
,其中字符串在两个引号之间。
修改此正则表达式的最佳方法是什么,只有在%
围绕任何字符串foo
时正则表达式匹配时才匹配?因此它与%foo%
不匹配,但会匹配%bar_%
%anythingelse%
?
答案 0 :(得分:3)
你在这里寻找负面的预测:
var myRegex = /%(?!foo%)([a-z_]*)%/i;
(?!foo%)
是否定前瞻,如果我们foo%
超过%
而失败%foo%
,则会导致失败。