Question: Okay, so `^[A-Z]` means beginning with a capital letter. So what does `^[A-Z]*` mean? Does it not mean zero or more occurrences of a capital letter? Because it is really confusing me since it is including the empty line in the output which is not a capital letter. Also, could you explain `^[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:~# 

```

Answer: 
An empty line *is* **zero** or more occurrences of a capital letter. The latter expression is ambiguous, starts and ends with **zero** or more occurrences of a capital letter, also known as "anything."

**Update**: Please refer to Tanzelax's answer as the answer that should have been accepted.
If you're asking what the addition of the asterisk to the end of the expression does, it means to match 0 or more times. In the expression that you provided it means to match as many consecutive capital letters as possible.

<http://www.regular-expressions.info/> might also be of some help to you.