4.正则表达式
groovy吸取了javascript的优点,用后斜线表示正则表达式,避免了java中多次写反斜杠转义。并提供了3个操作符:
写道
=~ 查找;
==~ 匹配;
~String 模式;
==~ 匹配;
~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;
}
}