regex验证字符串并返回JAVA中的值

regex验证字符串并返回JAVA中的值,java,regex,Java,Regex,我有一根绳子 String str = "//contains(@class, 'abc')])[1]//*[@name='xyz']"; 我试过了,但运气不好 "\\)\\[\\d*\\]" 我需要验证此字符串是否包含“[number]的次数与2、22等相同”,然后我只需要取出方括号中的数字,如上例中的:-1您可以使用此选项 \)\[(\d+)\] \)\]-匹配)[ (\d+)-捕获组一次或多次匹配数字 \]-匹配] 另一种方法是使用lookaround (?您可以尝试此(?这

我有一根绳子

String str = "//contains(@class, 'abc')])[1]//*[@name='xyz']";
我试过了,但运气不好

"\\)\\[\\d*\\]" 
我需要验证此字符串是否包含“[number]的次数与2、22等相同”,然后我只需要取出方括号中的数字,如上例中的:-1

您可以使用此选项

\)\[(\d+)\]
  • \)\]
    -匹配
    )[
  • (\d+)
    -捕获组一次或多次匹配数字
  • \]
    -匹配
    ]

另一种方法是使用lookaround


(?您可以尝试此
(?这似乎是一个满足您要求的有效正则表达式。虽然您没有使用捕获组仅提取数字,但是什么阻止您从其输出中删除尾随和前导的非数字字符?感谢它的工作fine@asinha总是乐于助人:)