2

正規表現を使用してJava文字列を分割し、後方参照の配列を返す方法はありますか?

簡単な例として、単純な電子メールアドレス(文字のみ)からユーザー名とプロバイダーを取得したいとします。

String pattern = "([a-z]+)@([a-z]+)\\.([a-z]{3})";
String email = "user@email.com";

String[] backrefs = backrefs(email,pattern);

System.out.println(backrefs[0]);
System.out.println(backrefs[1]);
System.out.println(backrefs[2]);

これは出力する必要があります

user
email
com
4

1 に答える 1

5

はい、pacakgeのPatternandMatcherクラスを使用します。java.util.regex

String pattern = "([a-z]+)@([a-z]+)\\.([a-z]{3})";
String email = "user@email.com";
Matcher matcher = Pattern.compile(pattern).matcher(email);
// Check if there is a match, and then print the groups.
if (matcher.matches())
{
    // group(0) contains the entire string that matched the pattern.
    for (int i = 1; i <= matcher.groupCount(); i++)
    {
        System.out.println(matcher.group(i));
    }
}
于 2012-11-18T04:28:58.560 に答える