-1

使用 JAVA 在给定字符串中捕获以下组的正则表达式是什么:

hey,soul,345

约束条件是第一个单词也可以包含逗号。我有以下正则表达式:

(.*),(.*),(.*)

但我基本上只想匹配最后 3 个逗号。

4

2 回答 2

3

我不认为你真的需要正则表达式......如果你有一个值由逗号分隔的单个字符串,并且你只想要最后 3 个逗号分隔的值(意味着有“三个”值,但首先可能有一个逗号它),您可以在逗号处分解/拆分字符串并拥有一个值数组。然后只需弹出 #2 和 #3 值的最后 2 个数组元素,并为 #1 内爆/加入剩下的任何内容。

于 2012-05-14T22:44:54.787 回答
1

您可以将 a 添加$到正则表达式的末尾以匹配字符串的最后一部分,然后在每个捕获组中,而不是匹配 a .(任何字符),您可以匹配任何非逗号字符:[^,]. 如果您想通过正则表达式进行操作,那应该会为您提供最后三个逗号分隔的组。所以你的正则表达式是:

(.*),([^,]*),([^,]*)$
于 2012-05-14T22:47:16.420 回答