メールパターンがあります:
^[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z.]*[a-zA-Z]$
文字列から電子メールを取得しようとするコード例:
String email = "NAME <firstname_lastname@domain.com>";
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(email);
if (matcher.find()) {
System.out.println(matcher.group());
}
regexp に^と$文字が含まれている場合matcher.find()は false を返しますが、regexp にこれらの文字が含まれていない場合は問題ありませんfirstname_lastname@domain.com。コンソールに表示されます。
^and を使用した場合と使用しない場合の正規表現の違いを説明していただけ$ますか?
^およびを含む正規表現で Matcher を強制的に動作させるにはどうすればよい$ですか?