gpt4 book ai didi

java - 与我的正则表达式匹配时出错

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:25 25 4
gpt4 key购买 nike

我可以得到一些帮助来使用正则表达式获取这些字符串..这是我的源代码..

救救我!!!

String t="01-21 10:56:41.161 D/RILJ    ( 2785): [rild] [2058]< VOICE_REGISTRATION_STATE {1, 271c, 0000058d, 16, null, null, null, null, null, null, null, null, null, null, null}";
String Exp= "(VOICE_REGISTRATION_STATE) .(\\d+), (\\w+), (\\w+), (\\d+),";
Pattern p = Pattern.compile("\\b"+Exp+"\\b", Pattern.CASE_INSENSITIVE);

Matcher m = p.matcher(t);

//表示该行所有匹配

    if (m.find()) {

Toast.makeText(getBaseContext(),"band="+m.group(2),Toast.LENGTH_SHORT).show();
Toast.makeText(getBaseContext(),"Lac="+m.group(3),Toast.LENGTH_SHORT).show();
Toast.makeText(getBaseContext(),"CID="+m.group(4),Toast.LENGTH_SHORT).show();
Toast.makeText(getBaseContext(),"Tech="+m.group(5),Toast.LENGTH_SHORT).show();
}

最佳答案

问题仅在于您最后添加的单词边界。只需将其删除即可。因为逗号(位于数字 16 旁边)和空格之间不存在单词边界。 \b 匹配单词字符和非单词字符。

Pattern p = Pattern.compile("\\b" + Exp, Pattern.CASE_INSENSITIVE);

Just play with adding a word boundary at the last in here.

关于java - 与我的正则表达式匹配时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com