Posted on 2010-01-22 16:54
asdtiang 阅读(2640)
评论(0) 编辑 收藏 所属分类:
groovy
这几天在学习groovy,文档不多,尤其是中文的,所以自己在看groovy自带的英语文档.
groovy的版是1.7.0
在网上看了下groovy的正则表达式,和文档描述的不一样,
写出来,方便学习。其实就是贴图。
英文好的就不用解释。
由于可能图片显示不出来,简单翻译下:
regular=/[^a][a-z]*/ //在groovy中定义一个正则表达式,正则表达式以/开始,以/结束
println "potatoe"==~ /potatoe/ //在groovy中测试一个字符串是否满足一个正则表达式,用==~
a? 表示一个或零个a
a* 表示零个或n个a(零个或以上)
a+ 表示n个a(1个或以上)
a{n} 表示n个a(如,a{3}表示3个a,即aaa)
a|b 表示a或b
[abcd] 表示a或b或c或d,相当于a|b|c|d
[a-z] 表示a到z之间的任意一个,同理[A-Z]是A到Z之间的任意一个
^a 表示以a开头,注意区分:[^a]不以a开头
一个替换的例子:
excerpt="At school,Harry had no one. Everybody kenw that Dudley's gang hated that odd Harry Potter "+
"in hits baggy old clothes and broken glasses,adn nobody liked to disagree with Dudley's gang."
matcher=(excerpt=~/Harry Potter/)
excerpt=matcher.replaceAll("Tanya Grotter")
println excerpt
matcher =(excerpt=~/Harry/)
excerpt=matcher.replaceAll("Tanya")
println excerpt
天苍苍,野茫茫,风吹草底见牛羊