REGEX:DOS FindStr命令没有反类function?

该文档说FindStr处理逆类语法,例如find任何不匹配“X”的字符:

[^X] 

但是一些简单的testing表明,情况并非如此 – 至less在我的Windows 7 x64安装程序中是这样。 Findstr将逆类标记“^”视为完全不存在。 所以它看到上面的正则expression式是这样的:

 [X] 

我想知道是否有人知道一个方法来欺骗FindStr来识别'^'逆类表示法?

是的,除了FindStr之外,我还可以使用其他工具,但这通常是Windows安装程序中已安装的工具。

^cmd.exe的转义字符。 你必须逃避它(类似于在其他环境中)。 尝试:

 [^^X] 

你用双引号括起搜索表达式吗? IIRC一个没有引号的^会直接引用下一个字符,这听起来像你正在报告。

这是一个例子,这是有效的:

 echo 123|findstr /R "[^0-9]" 

没有发现预期的事情。

同样没有引号不起作用。