10

Java的正则表达式中如何使用“一个或多个”运算符?例如,我想匹配这个:

( (a) (b) (c) ) - 匹配

( (a) ) - 匹配

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

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

4

1 回答 1

14

你想要类似的东西 \((\(\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中查找

于 2013-02-25T03:47:19.253 回答