groovy 中的正则表达式

这几天在学习groovy,文档很少,尤为是中文的,因此本身在看groovy自带的英语文档.
groovy的版是1.7.0
在网上看了下groovy的正则表达式,和文档描述的不同,
写出来,方便学习。其实就是贴图。

html


英文好的就不用解释。
因为可能图片显示不出来,简单翻译下:
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

asdtiang 2010-01-22 16:54 发表评论
相关文章
相关标签/搜索