windows - findstr Windows命令正则表达式

标签 windows command-line findstr

有没有办法在 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/

相关文章:

java - Weka 没有发现主类错误

python 3.6.1 需要安装 windows 7 service pack 1

node.js - 为什么链接 fuser 命令和 Node 应用程序不按顺序工作?

c# - Console.Writeline() 不工作

windows - FINDSTR 和跳过文件夹

string - 如何将包含特定字符串的行的行号存储在环境变量中的文本文件中?

Windows 批处理文件 - 拆分字符串以设置变量

windows - 为什么 Windows 不从我的 exe 文件中选取 128 像素的图标?

java - 如何在后台运行matlab?

batch-file - 使用批处理删除文本文件的行