我有一个字符串希望那些产品中心供应商正确匹配其各自的位置,并且它们之间的数字必须为数字,但是数字可以不同。
pattern: /products/8236/hubs/1/vendor
url="https://d3skctyxg9sfpd.cloudfront.net/sadassdsad/products/8236/hubs/1/vendor"
this.tests = "products/8236/hubs/1/vendor";
var fields = this.tests.split('_qa_current');
console.log(fields, "fielding values fetched");
/products/.test(fields);
console.log(/products/.test(this.tests), "url getting");
/^products\[0-9]\\hubs\[0-9]\\vendors$/.test(fields[1]);
答案 0 :(得分:1)
正则表达式:/-\/products\/\d+\/hubs\/\d+\/vendor/g
您可以将数字替换为\d+
,表示此位置可以有一个或多个数字。
这里是尝试该模式并亲自查看的网站:https://regexr.com/。 屏幕底部也有解释,以帮助您更好地了解规则的作用。
答案 1 :(得分:0)
这应该是您的正则表达式
^\/products\/\d+\/hubs\/\d+\/vendor$
在正则表达式中不能正确转义斜线。
代码
this.tests = "https://d3skctyxg9sfpd.cloudfront.net/milkbasket_qa_current/products/8236/hubs/1/vendor";
var fields = this.tests.split('_qa_current');
console.log(fields, "fielding values fetched");
/products/.test(fields);
console.log(/products/.test(this.tests), "url getting");
/^\/products\/\d+\/hubs\/\d+\/vendor$/.test(fields[1]);