我需要用正则表达式匹配 3 个可能的路径,但我很难匹配它,包括正斜杠。
const pathRegex = '(user|artist|album):/\//';
const createRegex = new RegExp(pathRegex, 'i');
console( createRegex.test('user/') );
最佳答案
您不需要在 RegExp 构造函数中转义正斜杠。
就用
const pathRegex = '(user|artist|album)/';
^
注意:如果没有特殊字符,也没有需要转义的内容,并且有很多正斜杠,RegExp
构造函数符号看起来比文字正则表达式符号干净得多.
所以,在这里,您还可以使用这个文字正则表达式表示法:
/(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/");
关于javascript - 使用正则表达式匹配多个 url 路径,包括正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37487140/