1. 程式人生 > >groovy簡明教程(二)正則表示式

groovy簡明教程(二)正則表示式

4.正則表示式

groovy吸取了javascript的優點,用後斜線表示正則表示式,避免了java中多次寫反斜槓轉義。並提供了3個操作符: 寫道 =~ 查詢;
==~ 匹配;
~String 模式;  
str = 'god is a gril, believe or not?'
matcher = str =~ /i\w/ // partily match? true
matcher.each {
    m -> print "$m, " //output: is, il, ie, 
}

println str ==~ /^g.+?$/ // full match ? true
println str.replaceFirst(/\bgr.+l\b/, 'boy') // output: god is a boy, believe or not?

reg = ~/^g/ // compiled regular express
println str.replaceFirst(reg, 'G') // output: God is a gril, believe or not?
(~/\d{4}-\d{2}-\d{2}/).isCase('2013-06-19') // match the regula or not? true
strs = ['foo', 'bar', 'question', 'test']
strs.grep(~/.*e.*/) // result:[question, test]
strs.each{ s ->
    switch(s) {
        case ~/f.*/: println "$s start with f"; break; // regula in switch case
        case ~/t.*/: println "$s start with t"; break;
    }
}