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

Java 正则表达式从字符串中查找特定的模式字符串,java,regex,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:<

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


它有助于测试你的表情

谢谢你的快速回复。我已经添加并尝试打印子字符串,但得到了非法的argumentinterror。我正试图打印得到的非法argumentexception。Matcher Matcher=Pattern.compilerICode:[A-Za-z.]+?=,.matchertest;虽然matcher.find{String str=test.substringmatcher.startricCode:,matcher.end;System.out.printlnvalue::+str;}很抱歉,我打印的方式不对。System.out.printlnvalue::+matcher.group正确方式。谢谢,在ricCode:till逗号之后,正则表达式将如何获得任何内容?您可以使用此:?@user2811650,如果我的答案是正确的,并帮助您,如果您能将其标记为已接受的答案并进行投票,我将不胜感激。谢谢