Groovy supports regular expressions natively using the ~"..." expression, which compiles a Java Pattern object from the given string. Groovy also supports the =~ (create Matcher) and ==~ (matches regex) operators.
For matchers having groups, matcherindex is either a matched String or a List of matched group Strings, since jsr-03 release.
The last example can also benefit from the other string literal notation which allows us to avoid having to double all the backslash escaping characters.
Since a Matcher coerces to a boolean by calling its find method, the =~ operator is consistent with the simple use of Perl's =~ operator, when it appears as a predicate (in 'if', 'while', etc.). The "stricter-looking" ==~ operator requires an exact match of the whole subject string.
Regular expression support is imported from Java. Java's regular expression language and API is documented here.