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中的定義。