匹配此类集[1] [2] [3] [4] [23]
的正确正则表达式是什么 - 其中数字位于括号内。 (我需要得到括号)
答案 0 :(得分:4)
正则表达式\ [[0-9] + \]将匹配'[1]','[2]','[678]'之类的内容。更精确的正则表达式依次捕获这些模式中的一个或多个:
((\ [[0-9] + \])(| $))+
答案 1 :(得分:1)
我不熟悉Java正则表达式,但如果它是PCRE,我认为它应该是:
/(\[\d+\])/
我不确定你是否需要比赛中的括号,但如果你不需要,我认为你可以使用
/\[(\d+)\]/
答案 2 :(得分:0)
如果您不需要捕获任何数字,则以下表达式将匹配具有该模式的字符串:
(?:\[\d+\]\s?)+
答案 3 :(得分:0)
以下似乎有效:
Pattern pattern = Pattern.compile("(\\[\\d+\\])\\s*");
Matcher matcher = pattern.matcher("[1] [2] [3] [4] [23]");
while (matcher.find()) {
System.out.println("match = " + matcher.group(1));
}