我的字符串几乎可以包含任何字符,包括(_- %
等等。该字符串以(\d{1,2})
结尾。例如。带有1或2位数的括号。我现在想要2个捕获组,2个数字和括号前的所有内容。
目前我有:
final Pattern pattern = Pattern.compile("^([-%\\(\\)_/= a-zA-Z\\d]+)\\((\\d{1,2})\\)$");
但这并不符合一切。我想用.*
替换char组,但不要将它与字符串末尾的(\d{1,2})
匹配。我怎样才能做到这一点?
答案 0 :(得分:6)
如果我理解了您的问题,您可以使用不情愿的量词.*?
代替您的贪心量词.*
,以便在第二个catpure组之前匹配不情愿的所有内容。