这个正则表达式不应该工作吗?
Shouldn't this RegExp work?
testString = "something://something/task?type=Checkin";
patt = new RegExp("something'/('w*)'?");
match = patt.exec(testString);
document.querySelector('#resultRegexp').innerHTML = match[1];
我想捕获task
那么这个正则表达式不应该工作吗?
我正在抓取任何字母数字字符,直到问号......并捕获它。
http://jsfiddle.net/h4yhc/2/
您需要转义正则表达式文本中的斜杠,以及从中创建正则表达式的字符串文本中的反斜杠:
var patt = /something'/('w*)'?/g;
// or
var patt = new RegExp("something/(''w*)''?", 'g');
我强烈推荐第一个版本,它更具可读性。
我认为
这就足够了:('w*)'?
,因为/没有被 ''w 捕获,而字符串中唯一的 ? 在目标字符串之后。
这是你需要的:
patt = new RegExp(".*/(''w*)''?");
http://jsfiddle.net/FJcfd/
试试这个:var pat = /something:'/'/(?:[^'/]+'/)+('w+)'?('w+='w+)/;
它可以匹配字符串,例如:
something://something/task?type=Checkin
something://something/foo/task?type=Checkin
something://something/foo/bar/task1?type3=Checkin4
相关文章:
- Javascript.getHours()工作不正常
- removeClass函数没有'工作不正常
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- jQuery Ajax GET请求工作不正常
- Cordova ng路线工作不正常
- 更新属性工作不正常Meteor/MongoDB
- 为什么文本对齐:对;工作不正常
- Javascript作用域和Ajax调用;工作不正常
- JavaScript DOM insertBefore'工作不正常
- Angular Js布线工作不正常
- onmouseout函数工作不正常
- 承诺工作不正常
- JQuery.live()工作不正常
- Alloy UI文本区域工作不正常
- Javascript代码添加了一些不应该存在的内容
- 这个正则表达式不应该工作吗?
- Promise.all 不应该作为传递给 .then 的函数工作
- 如果宽度小于767,前面的代码不应该工作
- 窗口.onerror不能在移动设备上工作——我应该如何处理未处理的异常
- 在单击文本框时,selectRow复选框函数不应该工作