0

フィールドを含むリクエストが残りのWebサービスに入るという要件があります。

私のWebサービスでは、このフィールドをチェックする必要があり、この検証に合格した場合は、サードパーティのサービスにリクエストを送信します。

必要な検証:

message_fromフィールドにはasが含まemail addressstringます。(以降のdomain nameすべて@)がroin.com

例:abc@roin.com合格、john_mandoza@roin.com合格、john_manodza@google.com不合格...

この検証を行うためにパターンマッチャーまたは他の何かを使用できますか?

(@)私は文字列解析を使用してその後すべてをキャプチャし、それequalsIgnoreCaseを比較しましたroin.com

この文字列解析アプローチは機能しますが、これを行うためのより良い方法はありますか?

4

1 に答える 1

6

このパターンを試すことができます(\\S+?@roin\\.com): -

  • \\S+スペース以外の文字と一致させるために使用されます
  • ?after\\S+は消極的なマッチングを行うために使用されます。パターンを満たす最小数の文字に一致します
  • \\.一致するために使用されます.
  • は正規表現の特殊文字であるため.、リテラルとして一致させるためにエスケープする必要があります。

だから、ここにコードがあります: -

String str = "abc@roin.com";

Pattern pattern = Pattern.compile("\\S+?@roin\\.com");
Matcher matcher = pattern.matcher(str);

if (matcher.matches()) {
    System.out.println("Matches"); // Prints this for this email
}
于 2012-10-17T17:26:04.093 に答える