-1

このテキストのJava正規表現を使用して、この値「wJJNfeRPLC」を一致させる必要があります。

* "et le mot de passe suivants:

nom d'utilisateur:情報

mot de passe:wJJNfeRPLC

Vous pouvez aussi vous connecter en cliquant sur ce lien ou le copier-coller
dans votrenavigurer "*

私はこれを試しましたが、正規表現の専門家ではありません

Pattern pattern = Pattern.compile(^mot de passe(.*));

CyrilleKarmannの回答に続いて

    String text = (String)message[1].getContent();
    Pattern pattern = Pattern.compile("(?<=mot de passe : )(\\w+)$", Pattern.MULTILINE);

    Matcher matcher = pattern.matcher(text); 

ありがとう

4

1 に答える 1

1

わかった。必要なのは、「mot de passe :」という文字列が前にあり、行末で終わる文字列です。

したがって、正規表現は次のようになります。

(?<=mot de passe : )(\w+)$

肯定的な後読み(先頭に面白い部分?<=) を使用して、キャプチャした部分 (パスワード) の前に "mot de passe : " があることを確認します。

次のように使用されます。

String string = "et le mot de passe suivants :\n\n" +
                "nom d'utilisateur : Information\n\n" +
                "mot de passe : wJJNfeRPLC\n\n" +
                "Vous pouvez aussi vous connecter en cliquant sur ce lien ou le copier-coller dans votre navigateur";

Pattern pattern = Pattern.compile("(?<=mot de passe : )(\\w+)$", Pattern.MULTILINE);
Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
  String password = matcher.group();
  System.out.println(password);
}
于 2013-02-09T03:38:25.383 に答える