该文档说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]"
没有发现预期的事情。
同样没有引号不起作用。