我有这些字符串:
"/page/test/myimg.jpg"
"/page/test/"
"/page2/test/"
"/page/test/other"
对于以/ page / test开头的所有字符串,我希望为true,除非它以.jpg
结尾。
然后我做了:/^\/page\/test(.*)(?!jpg)$/
。
好吧,它不起作用。 :\
它应该像这样返回:
"/page/test/myimg.jpg" // false
"/page/test/" // true
"/page2/test/" // false
"/page/test/other" // true
答案 0 :(得分:4)
使用JavaScript轻松完成:
/^(?!.*\.jpg$)\/page\/test/
答案 1 :(得分:2)
在锚定结束时使用负面外观:
/^\/page\/test(.*)(?<!\.jpg)$/
为清楚起见,此正则表达式将匹配* .jpg
中未结束的任何输入:
^.*(?<!\.jpg)$
JavaScript不支持外观,因此必须使用这个丑陋的选项,其中说明最后4个字符中至少有一个必须不是.jpg
:
^.*([^.]...|.[^j]..|..[^p].|...[^g])$