我想找到不以小写字母开头的行
为什么第二种写法不行?
我明白也可以写成^[^[:lower:]]
但为什么不能是^[^[a-z]]?
中括号的规则是什么。?

linux正则^[^a-z]为什么不能写成^[^[a-z]]?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ShowMeAI 2022-12-07 10:04关注
望采纳
^[^a-z] 和 ^[^[a-z]] 的区别在于前者表示匹配任何不在小写字母 a-z 范围内的字符,而后者则是匹配以一个不在小写字母 a-z 范围内的字符开头的字符串。
因此,如果想要匹配任何不在小写字母 a-z 范围内的字符,应该使用 ^[^a-z] 而不是 ^[^[a-z]]。
举个例子,如果我们想要匹配以字母 a 开头的字符串,可以使用 ^a。如果我们想要匹配以字母 a 之外的字符开头的字符串,可以使用 ^[^a]。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用