【发布时间】:2016-01-29 04:41:13
【问题描述】:
我正在尝试创建一个匹配任何内容的正则表达式,除了一个完全结束的字符串,在这种情况下,扩展名为 '.exe'。
文件示例:
- 'foo'(无扩展名)我想得到'foo'
- 'foo.bar' 我想得到'foo.bar'
- 'foo.exe.bar' 我想得到'foo.exe.bar'
- 'foo.exe1' 我想得到'foo.exe1'
- 'foo.bar.exe' 我要获取'foo.bar'
- 'foo.exe' 我想得到'foo'
到目前为止,我创建了正则表达式 /.*\.(?!exe$)[^.]*/
但它不适用于案例 1 和 6。
【问题讨论】:
-
上下文是什么?如果我正在扫描不以
.exe结尾的字符串,我可能只使用"does not match" operator:s !~ /\.exe$/。