我有这样的多行
1480438326593 addons.xpi-utils DEBUG shutdown
我希望用Windows CMD中的FINDSTR
函数解析它们。
现在我的问题是参数不起作用,或者说我做错了,但它应该有效。
我正在使用这个命令findstr /V /R ^\d{13}
,它应该使用正则表达式并在字符串的开头找到任意数字13次。
findstr /V /R ^\d
如果它以数字开头但{13}不起作用 - 这有效吗?
答案 0 :(得分:5)
要返回以13位数字开头的行,请使用
findstr /r ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
如果您希望失败(不匹配)13位数字跟随更多位数(即不匹配12345678901234 more text
行)的情况,请在末尾添加\>
(尾随字边界)。
findstr
utility不支持正确的正则表达式,只支持一些通配符模式,因此,没有limiting quantifier(即{min,max}
)支持,也没有速记字符像\d
这样的课程。
以下是findstr
支持的模式表:
┌───────────┬─────────────────────────────────────────────────────────────────┐
│ Character │ Value │
├───────────┼─────────────────────────────────────────────────────────────────┤
│ . │ Wildcard: any character │
│ * │ Repeat: zero or more occurrences of previous character or class │
│ ^ │ Line position: beginning of line │
│ $ │ Line position: end of line │
│ [class] │ Character class: any one character in set │
│ [^class] │ Inverse class: any one character not in set │
│ [x-y] │ Range: any characters within the specified range │
│ \x │ Escape: literal use of metacharacter x │
│ \<xyz │ Word position: beginning of word │
│ xyz\> │ Word position: end of word │
└───────────┴─────────────────────────────────────────────────────────────────┘
请注意,添加\v
选项会反转结果:您将获得所有不以13位数开头的行。