Posted on 2010-01-22 16:54
asdtiang 閱讀(2653)
評論(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
天蒼蒼,野茫茫,風吹草底見牛羊