groovy中的正则表达式操作符【groovy】
groovy中对于正则表达式的书写进行了简化,同时引入了新的操作符,使得正则表达式使用起来比较方便简单。
对于书写的改进:
比如
assert "\\d" == /\d/
也就是在groovy中/\d/本身也是字符串,我们可以简单地把/看成是字符串中的双引号,因此杠杠中间的内容是不需要进行转义的。
groovy中的正则表达式的核心部分依然采用的是JAVA中的类,Pattern、Matcher等,不过groovy为了简化正则的使用,引入了三个操作符:
查找(find)操作符:=~
匹配(match)操作符:==~
模式(pattern)操作符:~String
我们用一个例子来说明上述操作符的用法。
比如我们有一个字符串:
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中的定义。
作者:dreampursuer(公众号:独立开发者手记)
出处:http://www.cnblogs.com/dreampursuer/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/dreampursuer/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。