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