[英]Regex to match string in current URL including wild card
使用JavaScript匹配一部分URL并包含通配符的正则表达式是什么?
例如:
匹配所有页面: /pages/*
匹配名为about的页面: /pages/about
匹配所有包含字符串large的/products/*large*
: /products/*large*
我对您的代码做了一些小的更改:
var patterns = [
'about',
'checkout',
'contact'
];
var str = 'https://myurl.com/page/about/';
for (i=0; i<patterns.length; i++) {
if ((new RegExp(patterns[i])).test(str)) {
//----^^^^^^^^^^^^^^^^^^^^^^^^^ look here how to instantiate the regex
console.log('matched pattern: ' + patterns[i]);
//----------------------------------^^^ look here plus sign instead comma
}
}
我已经评论了更新。
希望能帮助到你。
如您的问题所问,用于您的3个示例的正则表达式为:-
/ pages / * -将。*用于'/ pages /'之后的任何内容
/\/pages\/.*/.test(str);
/ pages / about-与“ / pages / about”完全匹配
/\/pages\/about/.test(str);
/ products / * large * -匹配“ / products /”,然后包含“ large”
/\/products\/.*(?:large).*/.test(str);
并在您的示例中使用
var patterns = [
'/pages/.*',
'/pages/about',
'/products/.*(?:large).*'
];
for (i=0; i<patterns.length; i++) {
if ((new RegExp(patterns[i])).test(window.location.href)) {
console.log('matched pattern ' + patterns[i]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.