1

私は正規表現が初めてです。正規表現を使用して電子メール ID をチェックしています。

以下は、一致<xyz@xyz.com>する私のコードですxyz@xyz.com

Pattern p = Pattern.compile("\\<(.*?)\\>");
Matcher m = p.matcher("<xyz@xyz.com>");

そして、その正常に動作します。<xyz@xyz.com>今、私はどちらかまたは[xyz@xyz.com]と一致させたいですxyz@xyz.com

任意の提案をいただければ幸いです。

4

4 に答える 4

1

最初に<、または>正規表現の特殊文字ではないため、\ を使用する必要はありません

あなたの正規表現は次のようになります:

"(<|\\])(.*?)\\1"ただし、この正規表現は、電子メールアドレスが有効かどうかをチェックません。電子メールが有効かどうかを制御したい場合は、次の正規表現を使用します。

"(<|\\])([\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4})\\1"

ただし、メールの検証に正規表現を使用しないでください

于 2013-09-12T12:43:04.297 に答える
1

使用する

Pattern p = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
Matcher m = p.matcher("<abc@abc.com>");

参考 http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/

于 2013-09-12T12:47:37.717 に答える