在Java正则表达式中如何使用“一个或多个”运算符?例如,我要匹配以下内容:

((a)(b)(c))-比赛

((a))-比赛

其中a,b,c是任何字符或数字

此表达式的基本描述是一组括号内的括号集,该括号集包含由一个空格分隔的所有集

最佳答案

你想要类似的东西\((\(\w*\))+\)
为了更清楚地了解其工作原理,请在视觉上进行一些扩展:

\(    # outer bracket
(     # start of group
\(    # inner bracket
\w*   # 0 or more word characters ([0-9a-zA-Z_])
\)    # inner bracket
)     # end of group
+     # and we do that group 1 or more times
\)    # outer bracket

说明:如果应用*或+或?放在刚放在(未转义)括号中的内容上,然后将其应用于括号的全部内容,而不是仅应用于一个元素。

每当我遇到正则表达式问题时,我都会在http://www.regular-expressions.info/reference.html中查找它

10-06 02:02