javascript - 如何使用正则表达式模式数组来检查 url

标签 javascript regex

我有正则表达式模式数组,我想检查与正则表达式匹配的 url 并使用它。 请告诉我最好的方法。

我写的代码是这样的。

var a = ['^\/(.*)\/product_(.*)','(.*)cat_(.*)'];
var result = a.exec("/Duracell-Coppertop-Alkaline-AA-24-Pack/product_385346");

预期:

当我使用 a.exec 时,它应该解析 url "/Duracell-Coppertop-Alkaline-AA-24-Pack/product_385346"

并给出结果。

最佳答案

像这样迭代正则表达式:

var a = ['^\/(.*)\/product_(.*)','(.*)cat_(.*)'];
var result = [];
for (var i = 0; i < a.length; i++) {
    result.push(RegExp(a[i]).exec("/Duracell-Coppertop-Alkaline-AA-24-Pack/product_385346"));
}

然后所有匹配项都存储在 result 中。

result[0] 是一个数组,包含 a 中正则表达式的匹配项,索引为 0result[1] --> a[1] 等。如果正则表达式没有结果,result[x] 将为 null .

除了将正则表达式结果推送到数组之外,您还可以直接处理结果:

for (var i = 0; i < a.length; i++) {
    var currentResult = RegExp(a[i]).exec("/Duracell-Coppertop-Alkaline-AA-24-Pack/product_385346");
    // Do stuff with currentResult here.
}

关于javascript - 如何使用正则表达式模式数组来检查 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526440/

相关文章:

javascript - 使用 JavaScript 创建字母表的循环

javascript - 如果匹配则获取第一个值

javascript - html、javascript 和 css 中的列表框

c++ - 正则表达式 ("(abc|aa.*|bb.*)") 与正则表达式 ("(aa.*|bb.*|cc.*)");

javascript - jQuery trim 功能在 IE7 中不起作用?

javascript - “How to fix the ' div panel' 在 CSS 或 JavaScript 中关闭

javascript - 从不存在的站点请求 HTTP 响应时,Node.js 脚本会中断

regex - 如何减少这个正则表达式以适应 Lua?

c# - 在大字符串中查找浮点

Java:使用正则表达式从 block 注释中去除斜杠和星号