Javascript 正则表达式无效量词 var-pattern=/(?
似乎,javascript Regexp不支持Javascript 正则表达式无效量词 var-pattern=/(?,javascript,regex,match,Javascript,Regex,Match,似乎,javascript Regexp不支持(?如果在?)之后添加:它应该可以工作 var regexp = new RegExp("(?<=\?)(.*?)(?=\=)"); var-pattern=/(?:正如前面所说,JavaScript不支持lookbehinds。您可能会在这里找到有用的解决方法:为什么需要查找后面的内容?您正在尝试匹配?数据=类型模式,对吗?不要只查找?,吃掉它。:) 我找到了一个解决方法。显然,当我散列urlObj并应用与“?”+字符串+“=”…匹配的模式
(?如果在?)之后添加:它应该可以工作
var regexp = new RegExp("(?<=\?)(.*?)(?=\=)");
var-pattern=/(?:正如前面所说,JavaScript不支持lookbehinds。您可能会在这里找到有用的解决方法:为什么需要查找后面的内容?您正在尝试匹配?数据=
类型模式,对吗?不要只查找?
,吃掉它。:)
我找到了一个解决方法。显然,当我散列urlObj并应用与“?”+字符串+“=”…匹配的模式时,它返回一个数组…它很混乱,但它工作得很好
var data = "halsfdkjad;slfkjasdfj?data=uhtooiuhiouh?oiurhoiuhhhjkjj=9";
var myregexp = /\?(.*?)(?=\=)/g;
var match = myregexp.exec(data);
var result = "Matches found:\n";
while (match != null) {
result += "match:" + RegExp.$1 + '\n';
match = myregexp.exec(data);
}
alert(result);
JavaScript不支持look behinds。我找到了一个解决方法。显然,当我散列urlObj并应用与“+”字符串+“=”匹配的模式时……它返回一个数组…所以它很混乱,但它工作得很好。var pattern=/(\?)(.*)(\=)/;var-urlType=urlObj.hash.match(pattern)[2];
如果您想要的话,/\?(.*)=/.exec(urlObj.hash)[1]
也可以工作。?:
取消对组的引用。OP希望使用look behinds,他从其他正则表达式实现中知道这一点。
var pattern = /(?:<=\?)(.*?)(?:=\=)/;
var data = "halsfdkjad;slfkjasdfj?data=uhtooiuhiouh?oiurhoiuhhhjkjj=9";
var myregexp = /\?(.*?)(?=\=)/g;
var match = myregexp.exec(data);
var result = "Matches found:\n";
while (match != null) {
result += "match:" + RegExp.$1 + '\n';
match = myregexp.exec(data);
}
alert(result);
var pattern = /(\?)(.*?)(\=)/;
var urlType = urlObj.hash.match(pattern)[2];