无法使用正则表达式提取值

MNY*_*MNY 0 regex scala

我有一个看起来像的strig:"bla bla bla PersonId:fruhdHH$skdjJIFROfUB3djeggG$tt; bla bla bla"

我想提取PERSONID,所以基本上我需要的一切,这是间PersonId:;,我不喜欢的东西:

val personIdRegex: Regex = """PersonId:\+s;""".r
val personIdExtracted = personIdRegex.findAllIn(str).matchData.take(1).map(m => m.group(1)).mkString
Run Code Online (Sandbox Code Playgroud)

它没有工作思想,在正则表达式相当弱,会喜欢一些帮助:)

谢谢!

Ves*_*dov 5

你可以使用那个正则表达式:

String test="bla bla bla PersonId:fruhdHH$skdjJIFROfUB3djeggG$tt; bla bla bla";
    Pattern p = Pattern.compile("PersonId:([^;]+)");
    Matcher m = p.matcher(test);
    if (m.find()) {
        System.out.println(m.group(1));
    }
Run Code Online (Sandbox Code Playgroud)

搜索PersonId:并将值添加到第一个; 在一组