带有正则表达式的命令行findstr

时间:2020-05-01 13:18:37

标签: regex command-line findstr

我需要搜索目录和子目录中的所有文件,以匹配reg exp中的任何数字。基本上在我们的代码中,我们有基于某些项目编号的代码块。我需要按项目编号查找这些块。这个正则表达式可以满足我的需要,但是我无法在命令行上使用它

([^0-9]|^)(56|14|2)([^0-9]|$)

我在https://www.freeformatter.com/regex-tester.html上针对此字符串“ If session.projid = 56然后又是14或其他”进行了测试

我正在命令行上尝试

findstr /s /R /C:"([^0-9]|^)(56|14|2)([^0-9]|$)" *.*

但是没有结果,我知道应该有。在此先感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

请参见these docs

FINDSTR不支持使用竖线字符(|)进行替换。多个正则表达式可以用空格分隔,就像分隔多个单词一样(假设您未使用/ C指定文字搜索),但这可能没有用。如果正则表达式本身包含空格。

对于您来说,您可以在每个数字上使用-n / \<字边界,并可以在空格后指定所有替代项:

\>