- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图计算一个字符串中有多少匹配模式。我是使用 java.util.regex 的新手,我正计划使用 matcher.groupCount() 来获取匹配组的数量。因为根据文档,它返回捕获组的数量。
Returns the number of capturing groups in this matcher's pattern.
Group zero denotes the entire pattern by convention. It is not included in this count.
Any non-negative integer smaller than or equal to the value returned by this method is guaranteed to be a valid group index for this matcher.
这是我的问题的一个简化示例:
Pattern pattern = Pattern.compile("@");
Matcher matcher = pattern.matcher("@#@#@#@#@");
System.out.println(matcher.groupCount());
它的输出是0。我误解了哪一部分?如何计算匹配模式的数量?
最佳答案
groupCount
方法返回Pattern
中的组数。
Pattern
中的组是用括号分隔的。
您的模式
不包含任何组。
如果您要查找匹配项的数量,请在 Matcher
的 find()
方法上使用 while
循环(它返回 boolean 值
)。
例如:
int myMatches = 0;
while (matcher.find()) {
myMatches++;
}
编辑
Java 7+ 的命名组也是以圆括号分隔,尽管它们遵循的语法比未命名组稍微复杂一些。
参见 here了解详情。
关于java - java.util.regex.Matcher 中的 groupCount() 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23244390/
我的数据结构如下: { number: Integer letter: String } 我想像这样按两个属性进行分组计数: g.V().values('number', 'lette
来自下面 simplegraph-core 测试套件的单元测试代码显示了机场的区域数量,但它没有像我预期的那样排序。 结果开始于: NZ-BOP= 3 MZ-A= 1 MZ-B= 1 IN-TN
我知道有人问过这个问题,但我无法解决 对于有正文的书对象(西类牙语):"quiero mas dinero"(实际上要长很多) 我的 Matcher 不断返回 0: String s="mas
我有以下 Gremlin 遍历,在 Azure CosmosDB 上运行,我只想返回计数大于 1 的 URL。我不确定如何限制 groupCount() 的返回。 g.V().hasLabel('ar
我试图计算一个字符串中有多少匹配模式。我是使用 java.util.regex 的新手,我正计划使用 matcher.groupCount() 来获取匹配组的数量。因为根据文档,它返回捕获组的数量。
我是一名优秀的程序员,十分优秀!