在最后一小时努力尝试让这个正则表达式工作但似乎无法破解它。
它必须是正则表达式,我不能使用split等,因为它是更大的正则表达式的一部分,它使用.test()搜索许多其他字符串。
(public\/css.*[!\/]?)
public/css/somefile.css
public/css/somepath/somefile.css
public/css/somepath/anotherpath/somefile.css
这里我试图寻找以public / css开头的路径,后跟除了另一个正斜杠之外的任何字符。
so" public / css / somefile.css"应该匹配,但另外2个不应该。
更好的解决方案可能是以某种方式使用类似
之类的内容指定匹配后的级别数(public\/css\/{1,2}.*)
但我似乎无法解决这个问题,对此有所帮助。
不知道为什么这个问题被标记了两次,我已经明确说明了样本代码和测试用例的要求,并试图解决问题,为什么要将其标记下来?
答案 0 :(得分:2)
您可以使用此regex
:
/^(public\/css\/[^\/]*?)$/gm
^
:以[^/]
:不是/
*?
:任意字符$
:结尾g
:全球旗帜m
:多行标记答案 1 :(得分:1)
这样的东西?
/public\/css\/[^\/]+$/
这将匹配 public / css / [除了/] $
之外的任何字符$匹配正则表达式中字符串的结尾。