为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蝴蝶不菲 2021-10-27 10:56:30
我有这个字符串:{"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+(?=\")


查看完整回答
反对 回复 2021-10-27
  • 2 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信