Detect the Email Addresses

Sort by

recency

|

171 Discussions

|

  • + 0 comments
    import re
    l=[]
    for _ in range(int(input())):
        n=input()
        m=re.findall(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}",n)
        l.extend(m)
    print(";".join(sorted(set(l))))
            
    				
    
  • + 0 comments

    JS

    let pat = new RegExp(/\b([\w.]+)@([\w.]+)\.(\w+)\b/, "gm");
    let occs = new Set(input.match(pat).sort());
    console.log([...occs].join(";"));
    

    \b <--- start and end of a "word" (or email) ---> \b

    \w = [a-zA-Z_]

    [\w.] : We don't need to scape dots inside those brackets.

  • + 0 comments

    Enter your code here. Read input from STDIN. Print output to STDOUT

    this works for me

    import re import sys

    html= sys.stdin.read()

    pattern= r'\w*.?\w+@\w+.?\w*.?\w*.?\w+'

    matches=re.findall(pattern,html)

    output=sorted(set(email for email in matches))

    print(';'.join(output))

  • + 0 comments

    JavaScript

    I made it so complex, even I got confused.

    function processData(input) {
        let criteria = /([a-z\d._]+)@([a-z\d._]+\.[a-z]+)/gi;
        let arr = input.match(criteria);
        let emails = [...new Set(arr)];
        console.log(emails.sort().join(";"));
    }
    

    Corrected regex: let criteria = /[\w._]+@[\w._]+[\w]/g;

  • + 0 comments

    Java 15

    import java.io.*;
    import java.util.*;
    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
    public class Solution {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt(); scanner.nextLine();
            // Before and After @: (word.word.word...), with atleast one word, where each word is \w+
            Pattern pattern = Pattern.compile("\\w+(\\.\\w+)*@\\w+(\\.\\w+)*"); 
            // Creating hashset to hold unique emails
            HashSet<String> hashset = new HashSet<String>();
            for (int i=0;i<n;i++) {
                   Matcher matcher = pattern.matcher(scanner.nextLine());
                   while(matcher.find())    hashset.add(matcher.group());
            }
            // Converting hashset to arraylist in order to use sort()
            ArrayList arraylist = new ArrayList<String>(hashset);
            // Sorting arraylist in lexicographical order
            Collections.sort(arraylist);
            // Using ListIterator to iterate through arraylist
            ListIterator<String> iterator = arraylist.listIterator();
            while(iterator.hasNext()) {
                System.out.print(iterator.next());
                if(iterator.hasNext())  System.out.print(";");
            }
        }
    }