Board logo

标题: [文件操作] dir命令的findstr 在/r参数存在时,正则匹配是否有贪婪、懒惰模式之分? [打印本页]

作者: wqfans    时间: 2019-5-28 14:54     标题: dir命令的findstr 在/r参数存在时,正则匹配是否有贪婪、懒惰模式之分?

感觉dir命令的findstr /r这个不是纯粹的正则,只有一个*,匹配0或多次
只匹配1至多个字符用啥符号?百度、bing、Google搜了很多回,没见到
还有这个正则式,有懒惰和贪婪之分么?
感觉这个*总是以最大次数在吃字符,有没有啥办法让它匹配成懒惰模式
作者: xczxczxcz    时间: 2019-5-28 15:07

findstr 很影响性能。 用过的都知道。
作者: xczxczxcz    时间: 2019-5-28 15:11

比如以前用纯P 写的广告过滤规则(findstr) 1000条左右。用时几分钟。 而换PS后 1秒 完成。
作者: Batcher    时间: 2019-5-28 15:12

不能修改它的模式。
复杂的正则建议试试PowerShell
作者: WHY    时间: 2019-5-28 20:43

本帖最后由 WHY 于 2019-5-29 11:48 编辑

匹配1个或多个任意字符可以用 ..*
findstr 没有惰性模式,但应该可以变通,举例:
匹配 C:\123\xyz\a.txt 第一层目录(C:\123\):
  1. echo;C:\123\xyz\a.txt|findstr /i "^[A-Z]:\\[^\\]*\\\\"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2