使用Java正则表达式解析字符串提取custToken对应取值
实现方案
可以通过正则表达式实现该需求,适用的正则规则为 "custToken"\s*:\s*"([^"]+)",正则的匹配逻辑如下:
"custToken"精准匹配固定键名\s*兼容键、冒号、值之间可能存在的任意数量空白(包括空格、制表符等)- 捕获组
([^"]+)会提取双引号包裹的custToken取值,自动跳过外围的引号符号
Java 代码示例
import java.util.regex.Matcher; import java.util.regex.Pattern; public class TokenExtractor { public static void main(String[] args) { String inputStr = "externalCustomerID: { \"custToken\": \"xyz\" }"; Pattern pattern = Pattern.compile("\"custToken\"\\s*:\\s*\"([^\"]+)\""); Matcher matcher = pattern.matcher(inputStr); if (matcher.find()) { String custToken = matcher.group(1); System.out.println(custToken); // 输出结果:xyz } } }
注意事项
如果实际业务中custToken的取值可能包含转义双引号(比如"custToken": "ab\"cd"),不建议用正则解析,更推荐把大括号内的部分提取后用Jackson、Gson等JSON解析库处理,稳定性更高;如果确定输入格式固定、无转义字符,上述正则方案可直接使用。
内容的提问来源于stack exchange,提问作者Yogesh
相关产品推荐
相关产品推荐

