与Java相比, 在Groovy中编写正则表达式(regexes)简直是一种乐趣。在 Java中, regexes编程不仅需处理Pattern和Matcher对象,而且还要编写繁琐的 样板代码(boilerplate coding)。而Groovy对这两个Java对象做了简单封装, 添加了一些额外的实用方法,并给出一个简化的新的语法和3个新的操作符。
Groovy中,您可用slashy(斜线)语法“/../”定义字符串。这样以来便可避 免在Java正则表达式中使用过多的反斜线。例如:
assert (/Hello World/ in String)assert (/Hi \there/ == 'Hi \\there')
Groovy新增的第1个正则表达式操作符便是模式操作符(~),它使得字符串被 编译成一个Pattern实例。例如:
p = ~/\b[a-zA-Z]\b/
也可使用Java实现,如:
import java.util.regex.*Pattern p = Pattern.compile("\\b[a-zA-Z]\\b");
表3.1中列出了常用的正则表达式模式及含义。完整的正则表达式清单可参考 Pattern API文档, http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html。
表3.1 常用的正则表达式模式
模式 含义
a?
尽可能匹配1次a,也可以不匹配
a*
表达式尽可能的多匹配a,最少可以不匹配
a+
尽可能的多匹配a,至少匹配1次
a|b
匹配a或b
(ab)
分组
.
匹配任意一个字符
[abc]
匹配a,b或c
[^abc]
匹配除了a,b或c的任意一个字符
[a-z]
匹配a到z之间的任意一个字母
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索正则表达式
, groovy
, java匹配
, 模式
, 操作符
, pattern
一个
groovy 正则表达式、groovy正则表达式小结、groovy脚本编写、正则表达式编写工具、编写正则表达式,以便于您获取更多的相关知识。