groovy中对于正则表达式的书写进行了简化,同时引入了新的操做符,使得正则表达式使用起来比较方便简单。java
对于书写的改进:正则表达式
好比shell
assert "\\d" == /\d/spa
也就是在groovy中/\d/自己也是字符串,咱们能够简单地把/当作是字符串中的双引号,所以杠杠中间的内容是不须要进行转义的。字符串
groovy中的正则表达式的核心部分依然采用的是JAVA中的类,Pattern、Matcher等,不过groovy为了简化正则的使用,引入了三个操做符:方法
查找(find)操做符:=~sse
匹配(match)操做符:==~co
模式(pattern)操做符:~String字符
咱们用一个例子来讲明上述操做符的用法。groovy
好比咱们有一个字符串:
def s = "She sells sea shells at the sea shore of seychelles"
def matcher = s =~ /s.a/
assert finder instanceof java.util.regex.Matcher
也就是s =~ /s.a/ 的返回结果是Matcher类型。
而若是用
def isMatched = s ==~ /s.a/
上述的返回值是布尔类型,用于判断是否匹配上了。
对于
def pattern = ~/s.a/
上述返回的是Pattern类型。
所以,咱们综述一下这三个操做符:
查找(find)操做符:=~ 返回Matcher类型
匹配(match)操做符:==~ 返回boolean类型
模式(pattern)操做符:~String 返回Pattern类型
具体Matcher类、Pattern类有哪些方法能够参考JAVA中的定义。