我有这个字符串:{"level": "INFO", "message": "89532154: phone number saved successfully."}我只想提取 INFO 这个词。我试过了^(\{.{10})(\w*),(?<="level":\s*)"(\w*)"我尝试过的其他表达式不起作用。到目前为止,仅.*适用于 Android Studio。我正在使用 Android Studio 3.2
2 回答
皈依舞
TA贡献1851条经验 获得超3个赞
在您的第一个正则表达式中,您INFO
通过匹配第一个捕获组中的任何字符的前 10 次来匹配第二个捕获组。
据我所知,Java 不允许在后视中使用可变长度,因此\s*
不起作用。相反,您可以使用像这样的量词\\s{0,10}
在这种情况下,您最好使用 json 解析器,但如果您必须使用正则表达式,您可以使用:
(?<=\\{\"level\":\\s{0,10}\")\\w+(?=\")
添加回答
举报
0/150
提交
取消