Groovy正则表达式

2/22/2017来源:ASP.NET技巧人气:1656

Groovy正则表达式

1、~操作符可以方便地创建正则表达式。

p = ~"hello"
PRintln p.getClass().name // java.util.regex.Pattern

2、为了匹配表达式,提供了=~和==~。=~进行部分匹配,==~进行完全匹配。

p = ~"hello"
text = "hello world"
if (text =~ p) {
	println "match"
} else {
	println "not match"
}
if (text ==~ p) {
	println "match"
} else {
	println "not match"
}返回
match
not match

3、=~返回一个Mather对象。
p = ~"(h|H)ello"
text = "hello world! Hello BeiJing!"
matcher = text =~ p
println matcher.getClass().name // java.util.regex.Matcher
println matcher.size() // 2
println "${matcher[0]} and ${matcher[1]}" // [hello, h] and [Hello, H]

4、替代方法replace

p = ~"(h|H)ello"
text = "hello world! Hello BeiJing!"
result = (text =~ p).replaceAll("Hi")
println result // Hi world! Hi BeiJing!