-1

我需要使用此文本中的 java regex 匹配此值“wJJNfeRPLC”:

*"et le mot de passe suivants :

nom d'utilisateur : 信息

主题:wJJNfeRPLC

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

我试过了,但我不是正则表达式专家

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

跟随 Cyrille Karmann 的回答

    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 回答