Groovy中Matcher类中的Count属性

时间:2014-11-06 04:19:13

标签: groovy

我的问题是关于groovy中matcher类中的属性 count 。以下是一个例子:

import java.util.regex.Matcher
def p= /[a-z]*/
Matcher m= "abc" =~ p

println m.count

正如您所看到的,Groovy实际上在Java中使用了Matcher类。根据javadoc,Matcher没有任何计数财产。我们必须使用循环在Java开发中手动计数以进行模式匹配。 groovy怎么做到这一点?它是在某处记录的吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

良好的开端是Groovy Backstage,尤其是Groovy Method Invocation。基本上,这些类使用一组通用工具(例如DefaultGroovyMethods(见下文)Object)来增加metaClass。在方法调用中,groovy将此考虑在内,因为"有什么"。 count的{​​{1}}已经是一些更特殊的情况,Matcher上使用的更为常见的例如Object

如果您只对功能本身感兴趣,可以查看GDK。例如。 Matcher.getCount()

如果您对如何实际实施感兴趣,那么一般来说,良好的开端始终是DefaultGroovyMethodsDefaultGroovyMethodsSupport的后代。因此,println利用https://github.com/groovy/groovy-core/blob/master/src/main/org/codehaus/groovy/runtime/StringGroovyMethods.java#L1508