Javaでメールアドレスを抽出するための正規表現式

1.ファイル名
RegularExpression.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}");
// ファイルを読み込んで、有効なメールアドレスを検索し、結果を印刷
File file = new File(“startnews24_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");
}
}
}

2.ファイル名
startnews24_test.txt
参考コード:
markus.sprunck@
markus.sprunck@online.de
markus.sprunck@sampledomain.eu
markus.sprunck@online
@online.de

3.実行結果:
2: 'markus.sprunck@online.de’
3: 'markus.sprunck@sampledomain.eu’

2 matches in 6 lines

Development

Posted by arkgame