Updated Answer:
The problem is that using a paragraph break for every new line means that every line is a paragraph and using GREP paragraph styles you can only target a single paragraph. Theres no way to tell if you are on the first line because every line is the first line. The only way to get around that would be to test if the paragraph before is empty.. which I don't think is possible.
If changing the paragraph breaks to soft breaks you can use this:
(?<!\n).*?(?=\d|\n)
If changing the breaks isn't an option I havn't got a workaround for the paragraphs without numbers but you can target just the ones with using this:
^.*?(?=\d)
Original Answer:
^.*?(?=\d|\n)
An explanation -
^
matches the beginning of the paragraph
.
matches any character
*?
matches 0 or 1 time (so we only match up to the first digit)
(?=)
looks ahead (matches up to but not including what's in the parenthesis)
\d
matches any digit
|
OR
\n
matches a line break
For reference, All of this can be found on the InDesign help.