javascript - 使用正则表达式匹配多个 url 路径,包括正斜杠

标签 javascript regex

我需要用正则表达式匹配 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/

相关文章:

javascript - 我想找到数字 - 包括点和逗号 - 但正则表达式在 javascript 中不起作用

python - 从字符串中提取多个子字符串

regex - 转到正则表达式通配符以获取没有周围文本的标签

JavaScript 作为行内 block 去间距的强大 hack

javascript - 在选择渲染不同形式的reactjs

javascript - 使用 Javascript 中的值切换 HTML 框中的值

javascript - 当文件完成上传到服务器时,Javascript 可以关闭窗口吗?

javascript - 等待多个非嵌套回调

java - 将字符串匹配为二维整数数组的正则表达式

c# - 之间的正则表达式,从最后到特定结束