我写了一个正则表达式来挑选格式的文件
perl中的(ABC.*\.DAT)
。
如何为上述正则表达式写一个否定?
我已尝试过像(?!ABC.*)\.DAT
或(?!(ABC.*\.DAT))
感谢任何帮助。
答案 0 :(得分:1)
(?s:(?!ABC).)*\.DAT
你可以尝试这种基于正则表达式的否定。请参阅demo。
以上内容可以安全地嵌入到更大的模式中。例如,
/^(?:(?!ABC).)*\.DAT\z/s
如果您尝试匹配整个输入,并且ABC
不以.
,.D
,.DA
或.DAT
结尾,那么下面会更快:
/^(?!.*ABC)\.DAT\z/s