是否可以使用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/