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

问题描述 投票:1回答:1

我正在搜索文件夹,查找包含单词car的文件。这是我正在使用的数据的示例,通过使用findstr实用程序-findstr /s /i /n car *.*

获得

interview-290346:1:驾驶与描述类似的汽车。

interview-29316965:3:time。)“你不过是一包纸牌!”

interview-676473:7:下一位见证人是公爵夫人的厨师。她把胡椒粉盒搬进来了

interview-3804339:1:帕克的车是红色的,而不是蓝色的,并且镜头上的人被认为是男性。不认为是犯罪嫌疑人。

我想查找包含单词car的文件,而不是包含子字符串car的单词。我试图将findstr实用程序与正则表达式car\b一起使用,但无法弄清楚如何对其进行正确的转义。以下内容均未返回任何结果:

findstr /s /i /n car\b *.*
findstr /s /i /n "car\b" *.*
findstr /s /i /n car\\b *.*
findstr /s /i /n car\\\\b *.*
findstr /s /i /n "car\\b" *.*
findstr /s /i /n "car\\\\b" *.*

逃避正则表达式的正确方法是什么,为了在findstr中使用它,我还需要做其他事情吗? (我确实在键入此命令后注意到,正则表达式仍会与单词末尾的car子字符串匹配单词,但这没关系。我的问题不是要使用什么正则表达式,而是如何将其转义以用于findstr。)

((如果有人对此问题感兴趣,我正在研究Command Line murder mystery。]

regex findstr
1个回答
0
投票

根据the documentation判断,findstr无法理解\ b。您可以改用逆类,例如“ car [^ a-z]”(未测试),尽管如果“ car”是文件中的最后一个东西则不会匹配。 (您可以使用其他表达式调用findstr来捕获它们。)

© www.soinside.com 2019 - 2024. All rights reserved.