如何在Java的正则表达式中使用"一个或多个"运算符?例如,我想匹配这个:
((a)(b)(c)) - 匹配
((a)) - 匹配
其中a,b,c是任何字符或数字
此表达式的基本描述是一组括号中的括号集,其中包含由一个空格分隔的所有集合
Pat*_*shu 13
你想要的东西
\((\(\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
Run Code Online (Sandbox Code Playgroud)
说明:如果您应用*或+或?对于仅在(未转义)括号中的某些内容,它将应用于括号的整个内容,而不是仅应用于一个元素.
每当我有一个正则表达式问题时,我都会在http://www.regular-expressions.info/reference.html中查找