我正在尝试匹配除以.bmp结尾的所有文件。
由于一些限制,我不能使用否定(?:,!:)和引用(\ 1,...)。
我做了一个表达式,它适用于大多数字符串:
^\w+\.([^b].*|b|b[^m].*|bm|bm[^p].*|bmp.+)$
它匹配所有不以.bmp结尾的内容 - 包括test.txt,test.bmp.txt等。 但不言而喻,它确实允许test.bi.bmp。
有关如何改进正则表达式的任何想法,以便它只匹配以.bmp结尾的文件不?
答案 0 :(得分:5)
答案 1 :(得分:1)
/^.+\.([^b][^.]*|b|b[^m][^.]*|bm|bm[^p][^.]*|bmp[^.]+)$/
确保'bmp'之前的点是最后一个点
答案 2 :(得分:0)
不太优雅但有效:
^.*([^b][^m][^p]|b[^m][^p]|[^b]m[^p]|[^b][^m]p|bm[^p]|[^b]mp)$