Findstr-仅返回正则表达式匹配项

小帽子

我在文本文件(test.txt)中有以下字符串

BLA BLA BLA
BLA BLA
Found 11 errors and 7 warnings

我执行以下命令:

findstr /r "[0-9]+ errors" test.txt

为了得到只是11 errors字符串。

相反,输出为:

Found 11 errors and 7 warnings

有人可以协助吗?

维克多·史翠比维

FINDSTR工具不能用于仅提取匹配。为此,使用Powershell更加容易。

这是一个例子:

$input_path = 'c:\ps\in.txt'
$output_file = 'c:\ps\out.txt'
$regex = '[0-9]+ errors'
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file

Windows PowerShell中:提取字符串使用正则表达式的文章如何使用上面的脚本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java正则表达式仅返回单个匹配项

正则表达式执行仅返回第一个匹配项

正则表达式仅返回一个匹配项

正则表达式仅返回1个匹配项

为什么Java正则表达式replaceAll()仅返回最后一个匹配项

如何强制`findstr`忽略`无法打开`返回

如果文件夹名称与正则表达式匹配,则使用Cmd findstr

正则表达式:即使有多个相同的匹配项,如何也仅返回一个匹配项?

如何在findstr实用程序中使用单词边界正则表达式

正则表达式返回所有匹配项

CMD中的FINDSTR-仅全字

正则表达式-返回重叠的匹配项

仅匹配正则表达式行中的第一个匹配项

FINDSTR中的正则表达式和文字表达式有什么区别?

正则表达式仅匹配它及其匹配项,但不匹配

使用正则表达式的FindStr

Findstr:带有变量的正则表达式

C#中的正则表达式仅返回第一个匹配项

无法使表达式针对grep或findstr

findstr搜索,包括返回字符

正则表达式仅匹配项

如何正确地将正则表达式编写为cmd的findstr?

正则表达式未返回特定匹配项

Windows findstr匹配特定数值

当有两个匹配项时,来自 URL 的正则表达式匹配数据仅返回 1 个匹配项

哪种正则表达式方法最适合验证用户输入?(对于带有 delims 的 /f 与 echo %var%|Findstr /ri)

正则表达式不返回多个匹配项

Windows Cmd findstr - 数字不工作的正则表达式

批量 findstr 只返回字段值