如何在没有查询部分的情况下获取JavaScript正则表达式

How to get JavaScript regular expression without the querying part?

本文关键字:情况下 获取 JavaScript 正则表达式 查询部      更新时间:2023-09-26

例如,如果我有类似url = ['aaa.com/subject/12345', 'aaa.com/book/45678']的URL。我想得到"subject""ebook"以及其中的号码

如果我使用url[i].match(/'/('w)*'//),它将返回["/subject/", "t"]["/book/", "k"],因为i等于01

当然,我可以使用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_。

匹配列表的第一个元素始终包含整个匹配。

如果重复捕获组本身,则只有最后一次重复的匹配项将存储在组的反向引用中。