asdtiang的博客 感谢blogjava提供的博客交流平台

groovy 中的正则表达式

Posted on 2010-01-22 16:54 asdtiang 阅读(2637) 评论(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

天苍苍,野茫茫,风吹草底见牛羊

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 80, comments - 24, trackbacks - 0, articles - 32

Copyright © asdtiang

asdtiang的博客 PaidMailz
点击广告网赚A(每天4个广告,每个0.0025美元,一个搜索广告0.03美元)