|
2#
发表于 2022-5-21 15:57:49
来自手机
|
只看该作者
楼主这都是网上直接搜来的吧,而且应该都没测试。。。
^在[]外面的意思是行的开始,在[]里面的意思是取反,比如[^a-z],不匹配所有小写字母。
$用来匹配行的结束
+匹配一次或更多
*匹配零次或更多
所以你的一堆比如下面这个,只能匹配大写字母开头和结尾的一行,如果行首尾有范围之外的字符,比如空格,就无法匹配
5. 由26个大写英文字母组成的字符串:^[A-Z]+$
批处理不用第三方工具,支持的正则十分有限,而且findstr的帮助也不够详细,如果想利用正则,还是编程语言来的更可靠,功能更强大,findstr只能算个玩具。当然,有第三方工具也不错,不过我没用过。
- # python 3.x
- str = 'aaac'
- a = re.findall(r'a+c', str)
- a
- ['aaac']
复制代码- # 但是findstr这样就无法匹配
- echo aaac|findstr /r /c:"a+c"
- # 这样可以,但是a+c必需有至少一个a,a*c却可以没有,所能也能匹配c
- echo aaac|findstr /r /c:"a*c"
复制代码
findstr帮助末尾的一句“有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。”可见其还有很多未知用法,时间太久,我也不知道联机帮助何在。。。
|
|