如果文本仅包含相同的char n次,如何匹配

时间:2016-12-09 19:45:46

标签: regex

我正在为我的网站制作API并知道我想创建一个文件加载API  我希望我的路径正则表达式只匹配这种模式

"/load/ js or css /filename"

我能用这个正则表达式

\/load\/(js|css)\/(.+)

但问题是正则表达式匹配这个

"/load/js/filename/anythingelse"

我不希望文件名后面有/

1 个答案:

答案 0 :(得分:1)

由于.匹配所有字符,因此您需要更具体的内容。例如,如果您想要除/之外的任何内容,请使用排除的字符组,即[^<chars-to-exclude>]

\/load\/(js|css)\/([^/]+)
  

如果有任何/之后我根本不想让正则表达式匹配,我就不想获取文件名

在末尾添加$以防止除字符串末尾以外的匹配:

\/load\/(js|css)\/([^/]+)$

为了完整性,如果您要查找全字符串匹配项,请在正则表达式的开头添加^锚点:

^\/load\/(js|css)\/([^/]+)$