Groovy 应用模式

本帖最后由 Ledoux 于 2012-11-26 05:37 编辑

把正则表达式应用到一个字符串上,groovy支持如下的任务:

 模式是否完全匹配整个字符串。

 在字符串中检查是否匹配上一个模式。

 匹配成功的数目。

 根据每个成功匹配的结果做一些工作。

 替换成功匹配的结果。

 使用匹配的结果作为分隔符将字符串的分割成多个字符串。

列表3.5显示了如何在工作使用groovy来设置模式:

(1)和(2)有些有趣,虽然规则查找操作符将结果放在一个Matcher对象中,它也可以作为一个boolean条件使用。

注意:记住=~和==~的不同之处,==~是更严格的匹配,因为需要检查整个字符串,==~像操作符要长一些,所以要求的内容更多一些,呵呵!!

更多的信息请参考java.util.regex.Matcher对象的javadoc文档,该文档包括了所有的匹配方式和如果在每一个匹配上使用分组的讨论。

通用规则陷阱。

读者不需要完整的理解规则,作者已经做了这些了,我们学习了如下内容:

 当事情很复杂的时候,注释是冗长的

 使用斜杠/代替字符串语法,否则将迷失在反斜杠中(因为反斜杠需要转义)。

 不要让模式看起来难以理解,像列表3.5的WORD那样使用子表达式来建立模式。

 不要猜想结果会正确,要进行测试,为了测试规则正确,写一些断言或者单元

测试代码。