正则表达式不适用于 Android Studio 中 String 前面的特殊字符

我有这个字符串:

{"level": "INFO", "message": "89532154: phone number saved successfully."}

我只想提取 INFO 这个词。

我试过了^(\{.{10})(\w*)(?<="level":\s*)"(\w*)"

我尝试过的其他表达式不起作用。

到目前为止,仅.*适用于 Android Studio。

我正在使用 Android Studio 3.2


蝴蝶不菲
浏览 184回答 2
2回答

皈依舞

在您的第一个正则表达式中,您INFO通过匹配第一个捕获组中的任何字符的前 10 次来匹配第二个捕获组。据我所知,Java 不允许在后视中使用可变长度,因此\s*不起作用。相反,您可以使用像这样的量词\\s{0,10}在这种情况下,您最好使用 json 解析器,但如果您必须使用正则表达式,您可以使用:(?<=\\{\"level\":\\s{0,10}\")\\w+(?=\")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java