有没有办法在 Windows 命令行中使用 findstr
搜索字母之间连续 2 个或多个空格?
示例:
Hello world! - nomatch wanted
Hello world! - match wanted
什么是正则表达式语法?
另外,您能否帮助我理解以下命令行 session ([ ]
和 [ ]*
之间的区别;第二个命令不返回任何内容):
c:\1>findstr -i -r "view[ ]*data.sub" "view data sub.acf"
View Data Sub.ACF: "].DATE_STAMP)>=[Forms]![MainNav]![View Data Sub]"
View Data Sub.ACF: "].DATE_STAMP)<[Forms]![MainNav]![View Data Sub]"
c:\1>findstr -i -r "view[ ]data.sub" "view data sub.acf"
c:\1>
PS:只是好奇;我了解 awk、perl、C# 等,但是 findstr
呢?
最佳答案
如果您只想查找两个连续的空格:
findstr /C:" " input.txt
或者在不区分大小写的正则表达式中:
findstr /R /I /C:"lo wo" input.txt
重要的一点是模式前面的/C:
。这告诉 findstr
将模式视为文字字符串。如果没有它,findstr 会将模式按空格分割成多个模式。根据我的经验,这绝不是您想要的。
更新
要在字母之间添加两个或多个空格:
findstr /R /I /C:"[a-z] *[a-z]" input.txt
请注意,该模式中有三个空格。这匹配一个字母、两个空格,后跟零个或多个空格(即两个或多个空格)和另一个字母。
关于windows - findstr Windows命令正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485650/