如何在 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 中查找它
关于java - 模式匹配 Java 正则表达式 - "One-or-more"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059740/