Groovy中Matcher类中的Count属性



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

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

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

谢谢,

这方面的一个良好开端是Groovy Backstage,尤其是Groovy方法调用。基本上,类得到了一个用一组通用工具扩充的metaClass(例如ObjectDefaultGroovyMethods(见下文))。在方法调用时,groovy会考虑到"存在什么"。Matchercount已经是一些更特殊的情况,在Object上更常见的情况是例如println

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

如果您对它的实际实现方式感兴趣,那么一个好的开始总是DefaultGroovyMethodsDefaultGroovyMethodsSupport的后代。因此,对于Matcher.getCount() leeds,请执行以下操作https://github.com/groovy/groovy-core/blob/master/src/main/org/codehaus/groovy/runtime/StringGroovyMethods.java#L1508.

最新更新