java - 模式匹配 Java 正则表达式 - "One-or-more"运算符

标签 java regex

如何在 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/

相关文章:

java - 如何在 Tomcat 上部署正确的 "overlay"war

java - EasyMock:我做错了什么?

python - 使用正则表达式进行 Scrapy 日期捕获

regex - 使用 PostgreSQL 在 SORM 中进行非敏感搜索

Java:replace() 以正则表达式结尾的 n 管道分隔符

较新版本的 Perl 上的正则表达式匹配问题

c# - 用正则表达式替换字符串

java - Junit 无法使用 Spark Structured Streaming 创建的文件删除 @TempDir

java - 如何使用 JasperReports API 更改 JRBaseSubreport 表达式

java - 从文本字段中提取值,然后将它们放入集合/数组列表中