Groovy使用“~”(pattern)来支持正则表达式,它将使用给定的模式字符串创建一个编译好的Java Pattern 对象。Groovy也支持“=~”(创建一个Matcher)和 “==~” (返回boolean,是否给定的字符串匹配这个pattern)操作符。
对于groups的匹配, matcher[index] 是一个匹配到的group字符串的List或者string。
正则表达式的辅助符号
正则表达式的元字符
def pattern = ~/foo/ assert pattern instanceof Pattern assert pattern.matcher("foo").matches() println pattern.matcher("foobar").matches() assert "foobar" =~ pattern assert 'lxt' =~ 'l.t' assert "2009" ==~ /\d+/ // 1.1 类型 def aRegex = ~'lxt' println aRegex.class //java.util.regex.Pattern def mat = 'lxt' println mat.class //java.lang.String // 1.2 groups的匹配 def m = "foobarfoo" =~ /o(b.*r)f/ assert m[0] == ["obarf", "bar"] assert m[0][1] == "bar"