繁体   English   中英

使用正则表达式匹配多个网址路径,包括正斜杠

[英]Match multiple url paths with regex including forward slash

我需要用正则表达式匹配3条可能的路径,但是我很难匹配它,包括正斜杠。

 const pathRegex = '(user|artist|album):/\\//'; const createRegex = new RegExp(pathRegex, 'i'); console( createRegex.test('user/') ); 

您无需在RegExp构造函数中转义正斜杠。

只需使用

const pathRegex = '(user|artist|album)/';
                                      ^

注意:如果没有特殊字符且没有任何要转义的字符,并且如果有许多正斜杠,则RegExp构造函数表示法看上去要比文字regex表示法干净得多。

因此,在这里,您还可以使用以下文字正则表达式表示法:

/(user|artist|album)\//i.test("user/")
                    ^^   

演示:

 const pathRegex = '(user|artist|album)/'; const createRegex = new RegExp(pathRegex, 'i'); document.body.innerHTML = createRegex.test("user/") + "<br/>"; document.body.innerHTML += /(user|artist|album)\\//i.test("user/"); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM