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

标签 java regex

如何从以下字符串获取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: 之后使用字母字符,但您的示例具有句点 . 字符。另外,您正在匹配 , 字符,但这也会在您的匹配中包含逗号,您不希望这样 - 所以我添加了 positive lookahead对于逗号,因此它在那里查找但不匹配。最后,您的正则表达式末尾有一个 $ 字符,它与字符串的末尾匹配,您不想在逗号之后立即查找字符串的末尾,所以我将其删除。

使用 regexr.com 有帮助来测试你的表达。

关于java - 正则表达式从字符串中查找特定模式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43244552/

相关文章:

java - relativeLayout 和 Canvas 服装 View

java - 对于我的 Java 技能较低的人来说,这是一个不错的第一个项目吗? *年龄检测器*

java - 将某个条件中的所有字符串字符替换为变量值

java - 正则表达式检查括号是否平衡

用于整数和小数的 javascript 正则表达式(金钱)

java - 选择对链接列表进行排序

java - 我需要有关 Java 作业介绍的帮助

java - 如何将缓冲区字符串转换为图像?

regex - sublime text - 选定数字的计算

python - 正则表达式 - 为什么这个正则表达式在 Python 中不起作用?