1

メールパターンがあります:

^[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 を強制的に動作させるにはどうすればよい$ですか?

4

2 に答える 2

1

^$は、それぞれ入力の開始と終了を意味します。"NAME <...>"アドレスを囲むと、は、およびMatcherではないことが判明した可能性のある一致を無視します。^$

于 2013-09-06T08:40:52.213 に答える