使用 JAVA 在给定字符串中捕获以下组的正则表达式是什么:
hey,soul,345
约束条件是第一个单词也可以包含逗号。我有以下正则表达式:
(.*),(.*),(.*)
但我基本上只想匹配最后 3 个逗号。
我不认为你真的需要正则表达式......如果你有一个值由逗号分隔的单个字符串,并且你只想要最后 3 个逗号分隔的值(意味着有“三个”值,但首先可能有一个逗号它),您可以在逗号处分解/拆分字符串并拥有一个值数组。然后只需弹出 #2 和 #3 值的最后 2 个数组元素,并为 #1 内爆/加入剩下的任何内容。
您可以将 a 添加$
到正则表达式的末尾以匹配字符串的最后一部分,然后在每个捕获组中,而不是匹配 a .
(任何字符),您可以匹配任何非逗号字符:[^,]
. 如果您想通过正则表达式进行操作,那应该会为您提供最后三个逗号分隔的组。所以你的正则表达式是:
(.*),([^,]*),([^,]*)$