java 正则表达式 用法
在一个复杂的字符串中,使用 正则表达式 来取其中某个值
import java.util.regex.*;//正则表达式 引用 //复杂的字符串 String input="{\"pbxToken\":\"1ja930jsdlij912h94hk5l35poeweer\"}"+"{\"LS_CallStatus_Event_Type\":\"\",\"callId\":\"1701843953.1377\",\"callStatus_memberType\":\"Inbound\",\"inbound\":{\"callpath\":\"1234\",\"channelid\":\"PJSIP/trunk-MNWG-endpoint-00000397\",\"from\":\"13941128270\",\"memberstatus\":\"ALERT\",\"to\":\"1234\",\"trunkname\":\"MNWG\"},\"statusEnum\":\"OneMember_inboundAlert_callpath\",\"timeMillis\":1701843898676}---inbound---{\"callpath\":\"1234\",\"channelid\":\"PJSIP/trunk-MNWG-endpoint-00000397\",\"from\":\"13941128270\",\"memberstatus\":\"ALERT\",\"to\":\"1234\",\"trunkname\":\"MNWG\"}"; //使用正则表达式提取电话号码 //电话号码为 不带小数点的数字 Pattern pattern = Pattern.compile("\"from\":\"(\\d+)\""); Matcher matcher = pattern.matcher(input); if (matcher.find()) { String phoneNumber = matcher.group(1); logger.debug("====电话号码:" + phoneNumber ); } else { logger.debug("==== " +"未找到电话号码" ); }
//callId为 带小数点的数字 Pattern patternCallId = Pattern.compile("\"callId\":\"(\\d+\\.\\d+)\""); Matcher matcheCallId = patternCallId.matcher(input); if (matcheCallId.find()) { String callId = matcheCallId.group(1); System.out.println("提取的callId是:" + callId); } else { System.out.println("未找到callId"); }
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-12-08 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项