如何匹配不以正则表达式结尾的文件
How to match files end not with regex
我正在尝试过滤所有不以 mp3
或 wv
.
结尾的文件
我试过使用类似这样的东西 ^.*(?<![mp3|wv])$
但这个表达式不起作用。
请帮助创建有效的表达式。
您可以改用 Negative Lookahead。
^(?!.*(?:mp3|wv)$).*
因为回顾是一个零宽度断言,你可以这样写:
^.*(?<!mp3)(?<!wv)$
或更好($ 也是零宽度断言):
^.*$(?<!mp3)(?<!wv)
如果您的正则表达式风格允许(PCRE,Java),您可以使用替代:
^.*$(?<!mp3|wv)
注意:如果您的目标只是了解字符串是否以 "vw" 或 "mp3" 结尾,您可以测试 (?:mp3|wv)$
是否为假。
我正在尝试过滤所有不以 mp3
或 wv
.
结尾的文件
我试过使用类似这样的东西 ^.*(?<![mp3|wv])$
但这个表达式不起作用。
请帮助创建有效的表达式。
您可以改用 Negative Lookahead。
^(?!.*(?:mp3|wv)$).*
因为回顾是一个零宽度断言,你可以这样写:
^.*(?<!mp3)(?<!wv)$
或更好($ 也是零宽度断言):
^.*$(?<!mp3)(?<!wv)
如果您的正则表达式风格允许(PCRE,Java),您可以使用替代:
^.*$(?<!mp3|wv)
注意:如果您的目标只是了解字符串是否以 "vw" 或 "mp3" 结尾,您可以测试 (?:mp3|wv)$
是否为假。