I have this regex expression that validates on regex101:
[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}
But when I try to run it with sed I get: sed: -e expression #1, char 52: Invalid range end
As far as I understand this is normally a problem when you define your range like: A-z in some versions of sed, but here I'm putting a-zA-Z? So I guess it's the special chars causing the error, but how do I solve it?
Sed:
$( sed -E -n '/[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )
In your first character class [a-zA-Z0-9-_.]
this is no valid range: 9-_
Move -
to last character in your character class: [a-zA-Z0-9_.-]