繁体   English   中英

正则表达式从字符串中查找特定的模式字符串

[英]Regex to find specific pattern string from string

如何从以下字符串获取ricCode:.ABC 我的匹配者是

Matcher matcher = Pattern.compile("ricCode:([A-Za-z]+),$").matcher(str);

String str = "{AMX:{ricCode:.ABC,indexDetailEnable:true,price:20,648.15,netChange:<spanclass="md-down">-41.09</span>,percentChange:<spanclass="md-down">-0.20%</span>,tradeDate:17/04/05,tradeTime:16:40,chartDate:17/04/05,chartTime:16:40}";

正则表达式中缺少什么?

从此更改您的正则表达式:

ricCode:([A-Za-z]+),$

对此:

ricCode:([A-Za-z.]+)(?=,)

您的原始正则表达式仅允许在ricCode:之后ricCode:字母字符,但是您的示例中有一个点. 字符。 你也被匹配,性格,但是这也将包括在比赛中的逗号,你不希望这样-所以我增加了一个积极前瞻的逗号,所以它看起来它存在,但并不匹配。 最后,您在正则表达式的末尾有$字符,该字符与字符串的末尾匹配,您不想在逗号后立即查找字符串的末尾,因此我删除了它。

使用regexr.com可以测试您的表情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM