我有一个正则表达式,我需要匹配这样的路径:“ C:\Documents and Settings\User\My Documents\ScanSnap\382893.pd~
”。我需要一个匹配所有路径的正则表达式,除了那些以'~'或' .dat
'结尾的路径。我遇到的问题是我不明白如何匹配和否定确切的字符串 ' .dat
' 并且仅在路径的末尾。即我不想匹配{d,a,t}
路径中的其他地方。
我已经构建了正则表达式,但不需要匹配 .dat
[\w\s:\.\\]*[^~]$[^\.dat]
[\w\s:\.\\]*
这匹配所有单词、空格、冒号、句点和退格。
[^~]$[^\.dat]$
这会导致以 '~' 结尾的匹配失败。似乎我应该能够跟进'.dat'的否定匹配,但匹配在我的正则表达式测试器中失败。
我认为我的答案在于根据我所阅读的内容进行分组,有人会指出我正确的方向吗?我应该补充一点,我正在使用一个允许正则表达式匹配的文件监视程序,我只有一行来指定正则表达式。
这个条目看起来很相似:Regex to match multiple strings