返回顶部

收藏

通过正则表达式提取 Email 地址的Java代码

更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class RegularExpression {
    public static void main(String[] args) throws IOException {

        // Simple expression to find a valid e-mail address in a file
        Pattern pattern = Pattern.compile("[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}");
        // Read file, find valid mail addresses and print result
        File file = new File("test.txt");
        BufferedReader in = new BufferedReader(new FileReader(file));
        int lines = 0;
        int matches = 0;
        for (String line = in.readLine(); line != null; line = in.readLine()) {
            lines++;
            Matcher matcher = pattern.matcher(line.toUpperCase());
            if (matcher.matches()) {    
                System.out.println(lines + ": '" + line + "'");
                matches++;
            }
        }
        // output of summary
        if (matches == 0) {    
            System.out.println("No matches in " + lines + " lines");
        } else {
            System.out.println("\n" + matches + " matches in " + lines + " lines");
        }
    }
}

标签:java

收藏

0人收藏

支持

0

反对

0

发表评论