如何在没有查询部分的情况下获取JavaScript正则表达式
How to get JavaScript regular expression without the querying part?
例如,如果我有类似url = ['aaa.com/subject/12345', 'aaa.com/book/45678']
的URL。我想得到"subject"
和"ebook"
以及其中的号码
如果我使用url[i].match(/'/('w)*'//)
,它将返回["/subject/", "t"]
和["/book/", "k"]
,因为i
等于0
和1
。
当然,我可以使用slice(1, -1)
来获得"subject"
和"book"
。
但是是否可以只使用正则表达式来获得"subject"
而不是"/subject/"
您可以使用:
var url = ['aaa.com/subject/12345', 'aaa.com/book/45678'];
var m = url[0].match(/'/('w+)'/('d+)$/);
//=> ["/subject/12345", "subject", "12345"]
现在,您可以使用m[1]
获取subject
,并使用m[2]
获取后面的数字。
您需要将量词放在捕获括号内:
url[i].match(/'/('w*)'//)
它将给你CCD_ 18和CCD_。
匹配列表的第一个元素始终包含整个匹配。
如果重复捕获组本身,则只有最后一次重复的匹配项将存储在组的反向引用中。
相关文章:
- 如何在不需要单击按钮的情况下获取选项的值
- 如何在没有回调的情况下获取有关元素的信息
- 在不使用sort()的情况下获取HTML LI元素的副本
- Javascript如何在不使用画布的情况下获取鼠标位置
- Javascript在没有jQuery的情况下获取X父节点
- Rails/JS-在不刷新页面的情况下获取变量
- jQuery在不刷新页面的情况下获取每个A标记的值
- 在没有jquery的情况下获取iframe中的特定内容
- AJAX/JS:是否可以在没有提交按钮和刷新页面的情况下获取输入文本的值
- 如何在不使用事件的情况下获取元素的 pageX 和 pageY
- 角度 - 在不使用 ng-repeat的情况下获取数据长度
- AngularJS:在不修改ng模型的情况下获取选择标签
- 我可以在没有对象函数调用的情况下获取(可能是计算的)属性值吗?
- 如何在选中数组复选框的情况下获取数组文本框的验证
- 索引数据库,如何在不重新加载页面的情况下获取更新的数据
- 如何在没有元素的情况下获取文件引用对象
- 如何在没有jQuery的情况下获取事件目标
- JavaScript:在没有画布的情况下获取 ImageData
- 在没有解析 JSON 的情况下获取高图表数据
- 如何在没有图像的情况下获取链接