這幾天在學習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