My answer here was deleted as 'duplicate', with a link to the faq where is stated, that exact duplicates
are removed, while the first part used a different syntax - compare yourself:
grep -E -H 'string1|string2|stringn'
egrep "(string1|string2|string3)"
which is a different syntax, and imho reason enough to be allowed. Let the user up- and downvote, and not moderators decide, which syntax to use. But ...
... but the second part of my answer is completely different from all other solutions:
grep pattern file{1..3}
compared to
grep pattern file1.txt file2.txt filen.txt
grep pattern file*.txt