Extract email addresses using vim [duplicate] - regex

This question already has answers here:
Remove everything except regex match in Vim
(4 answers)
Closed 8 years ago.
I have a large log file that contains email addresses mixed in with some other content. Each line contains an email address as well as some other text, like:
I can match the email addresses in vim but I'd like to remove all the content that doesn't match an email address, leaving me with a single address per line. How can I do that with a regex search?

if you have already successfully matched the email address, you can do :
:%s/.\{-}\(yourPattern\).*/\1/g
for example:
%s/.\{-}\(\S\+#\S\+\).*/\1/
here the \S\+#\S\+ is the pattern. for sure it is not the good try for matching an email address.

Related

Angular 6 email regex [duplicate]

This question already has answers here:
How can I validate an email address in JavaScript?
(79 answers)
Closed 4 years ago.
I want to validate all email inputs on my app with regex. But there is a problem, all the regex I have found allow emails with no TLD. I want a regex that can help me reject emails such as testing#testing,
Examples:
testing#testing.com should be valid
testing#testing.co.us should be valid
testing#testing should not be valid
The current regex I use is :
^([a-zA-Z0-9_-.]+)#(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$
But it accepts testing#testing for example, and that is not what I want.
How would I go about validating emails and rejecting ones without TLD
This is the regex which does what you want:
[A-Za-z0-9._%-]+#[A-Za-z0-9._%-]+\\.[a-z]{2,3}

Regex - disallow www in email address [duplicate]

This question already has answers here:
How can I validate an email address using a regular expression?
(79 answers)
Closed 5 years ago.
I am using a regular expression to validate email addresses in an online form. A lot of emails are entered as such: www.test#example.com
How can I disallow the use of www. using regex? My current expression:
^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*#[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$
I know this expression checks for a gTLD - we require an email address to have one.
EDIT: This question is slightly different to others I have found as I wasn't sure how to add the www exclusion in - that's all I needed.
Also, the target market we reach doesn't have the same experience using technology as most people do, so the amount of email addresses that we receive with www in them is massive. www.john#gmail.com is perfectly valid yes but it is 99% of the time not what the persons email address is. Our CRM system can't send emails to the correct people then.
you can use the regex
^(?!www\.)[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*#[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$
see the regex demo

Use regular expressions to select valid email address [duplicate]

This question already has answers here:
How can I validate an email address using a regular expression?
(79 answers)
Closed 6 years ago.
I came up with the following
([\w.%+-]+#[A-Za-z0-9.-]+\.[A-Za-z]{2,4})
I would also like to remove emails that start with a number or -. By remove I mean to select only the address and not to remove the entire match.
Is there a way to do that?
^(?:\d+|-+)?([\w.%+-]+#[A-Za-z0-9.-]+\.[A-Za-z]{2,4})$
This should do the trick. It'll capture emails but also filter out ones that start with a number or the - character and pulls the email from it.

Regex to extract emails not working [duplicate]

This question already has answers here:
How can I validate an email address using a regular expression?
(79 answers)
Closed 7 years ago.
I am trying to extract all the email addresses from pages like this
http://www.quiltguilds.com/alabama.htm
I am using the following RegEX to extract all the emails.
\w+#\w*\.\w*
While this works at online Regex checkers, this isn't working with the import.io application where I am trying to use this to extract all emails.
Can someone kindly review the Regex and confirm if this one would work for extracting just email addresses from a block of text
Many thanks
You can use the following regex:
\S+\#\S+

REGEX email matching [duplicate]

This question already has answers here:
How can I validate an email address using a regular expression?
(79 answers)
Closed 8 years ago.
I have a JAVA string that is being used to validate proper email addresses.
^[\\w'-]+(\\.[\\w'-]+)*#[A-Za-z0-9]+([.-][A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$
I want to user to be able to leave the address blank and not get an error message. How is this possible?
Since you didn't provide any other code or specify what language you were using, the best I can suggest is:
(?:^[\\w'-]+(\\.[\\w'-]+)*#[A-Za-z0-9]+([.-][A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$)|(?:^$)
Which will match an e-mail or an empty string.
If you have an expression you want to make optional allowing empty string to match you could use any of the following:
^(?:regex)?\z
^\z|^regex\z