我正在使用 java 进行正则表达式匹配。我正在使用 rubular 来验证匹配并使用 ideone 来测试我的代码。
我从这个 SO 解决方案中得到了一个正则表达式,它与我希望在 rubular 中匹配的组匹配,但我在 java 中的实现不匹配。当它打印“值”时,它正在打印 commaSeparatedString 的值而不是 matcher.group(1) 我希望 println 的捕获组/输出为“v123_gpbpvl-testpv1,v223_gpbpvl-testpv1-iso”
String commaSeparatedString = "Vtest7,v123_gpbpvl-testpv1,v223_gpbpvl-testpv1-iso";
//match everything after first comma
String myRegex = ",(.*)";
Pattern pattern = Pattern.compile(myRegex);
Matcher matcher = pattern.matcher(commaSeparatedString);
String value = "";
if (matcher.matches())
value = matcher.group(1);
else
value = commaSeparatedString;
System.out.println(value);
(编辑:我忽略了 commaSeparatedString 并不总是包含 2 个逗号。相反,它总是包含 0 个或多个逗号)