作者:微博网友_02887414 | 来源:互联网 | 2023-09-17 14:48
testStringsomething:somethingask?typeCheckin;pattnewRegExp(something\(\w*)\?);matchpat
testString = "something://something/task?type=Checkin";
patt = new RegExp("something\/(\w*)\?");
match = patt.exec(testString);
document.querySelector('#resultRegexp').innerHTML = match[1];
我想捕获任务所以RegExp应该不起作用吗?
我正在抓取任何字母数字字符直到问号…并捕获它.
http://jsfiddle.net/h4yhc/2/
解决方法:
您需要在正则表达式文字中转义斜线,而在字符串文字中转义反斜线,您可以通过以下方式创建正则表达式:
var patt = /something\/(\w*)\?/g;
// or
var patt = new RegExp("something/(\\w*)\\?", 'g');
我强烈推荐第一个版本,它更具可读性.