好的,所以^[A-Z]意味着以大写字母开头。那么^[A-Z]*是什么意思?这不意味着一个大写字母出现零次或多次吗?因为它真的让我很困惑,因为它在输出中包含了不是大写字母的空行。另外,你能解释一下吗?

mugbear:~# clear
mugbear:~# cat emptyspace
line1
line2

line4
line5

line7
mugbear:~# grep '^[A-Z]*' emptyspace
line1
line2

line4
line5

line7
mugbear:~# grep '^[A-Z]*$' emptyspace


mugbear:~#

最佳答案

空行是零个或多个大写字母的出现。后一个表达式是不明确的,以零个或多个大写字母(也称为“anything”)开头和结尾。
更新:请参考Tanzelax的答案作为本应接受的答案。

关于regex - 对此正则表达式感到困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4057050/

10-12 05:34