Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式无效量词 var-pattern=/(?_Javascript_Regex_Match - Fatal编程技术网

Javascript 正则表达式无效量词 var-pattern=/(?

Javascript 正则表达式无效量词 var-pattern=/(?,javascript,regex,match,Javascript,Regex,Match,似乎,javascript Regexp不支持(?如果在?)之后添加:它应该可以工作 var regexp = new RegExp("(?<=\?)(.*?)(?=\=)"); var-pattern=/(?:正如前面所说,JavaScript不支持lookbehinds。您可能会在这里找到有用的解决方法:为什么需要查找后面的内容?您正在尝试匹配?数据=类型模式,对吗?不要只查找?,吃掉它。:) 我找到了一个解决方法。显然,当我散列urlObj并应用与“?”+字符串+“=”…匹配的模式

似乎,javascript Regexp不支持
(?如果在?)之后添加:它应该可以工作

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];