首页 > 解决方案 > 正则表达式允许 url 中的任何字符串

问题描述

const profileActive = location.pathname && location.pathname.match(/^\/app\/profile/) ? "profileActive" : "";

我的情况需要匹配:

/app/profile/ANYTHINGHERE/report

目前它只匹配:

/app/profile/

任何帮助表达匹配//之间的任何表达式

谢谢

标签: regex

解决方案


您可以使用

/^\/app\/profile(?:\/.*)?\/report$/

看到这个正则表达式演示

或者,如果两者之间应该只有 1 个子部分:

/^\/app\/profile(?:\/[^\/]+)?\/report$/

请参阅正则表达式演示

(?:\/[^\/]+)?匹配一个可选序列/和 1+ 字符,而不是/while(?:\/.*)?将匹配一个可选序列 a/后跟任何 0+ 字符。


推荐阅读