Regex 的正则表达式不包含

Regex 的正则表达式不包含,regex,Regex,正在寻找有关regex语句的帮助 我有一个名为 icn_home.png icn_home@2x.png icn_home@3x.png 我正在寻找只接受不以@2x.png结尾的值的正则表达式 然后我将运行一个脚本,删除所有剩余的文件。因此,.png和。png@3x将被删除,保留在@2x.png文件上不会以@2x.png结束: ^(?!.*@2x\.png$) ^-从字符串开始 (?!)-负面展望 *-任意数量的字符 \。-必须转义点,否则表示任何字符 $-字符串结尾 这一款应该适合您的

正在寻找有关regex语句的帮助

我有一个名为

icn_home.png
icn_home@2x.png
icn_home@3x.png
我正在寻找只接受不以
@2x.png
结尾的值的正则表达式


然后我将运行一个脚本,删除所有剩余的文件。因此,
.png
。png@3x
将被删除,保留在
@2x.png
文件上

不会以
@2x.png
结束:

^(?!.*@2x\.png$)

  • ^
    -从字符串开始
  • (?!)
    -负面展望
  • *
    -任意数量的字符
  • \。
    -必须转义点,否则表示任何字符
  • $
    -字符串结尾

这一款应该适合您的需要:

^(?。*@2x\.png$)+$

可视化


演示

哪种语言/工具以及您尝试过什么?请注意,根据工具的不同,您可以将匹配项反转为更简单的正则表达式。因此,如果您可以使用
grep
,您可以这样做:
ls-1 | grep-v“@2x\.png$”
,其中
-v
反转匹配。get-bash:*@2x\.png$:事件不存在found@JWalker1995:你应该用
bash
标记你的问题。如果使用
bash
则使用
grep-v“@2x\.png$”文件
@JWalker1995,该错误来自bash,而不是正则表达式。这与历史替代有关。正则表达式看起来不错。getting-bash:*@2x\.png$:事件不存在found@JWalker1995,你没有说你在用什么语言。用一个标记指定。