Groovy - 正則表示式



正則表示式是一種用於在文字中查詢子字串的模式。Groovy 使用 ~”regex” 表示式原生支援正則表示式。引號內的文字表示要比較的表示式。

例如,我們可以建立一個正則表示式物件,如下所示:

def regex = ~'Groovy'

當 Groovy 運算子 =~ 在 **if** 和 **while** 語句中作為謂詞(返回布林值的表示式)出現時(參見第 8 章),左側的字串運算元與右側的正則表示式運算元匹配。因此,以下每個都返回 true。

在定義正則表示式時,可以使用以下特殊字元:

  • 有兩個特殊的定位字元用於表示行的開頭和結尾:插入符號 (∧) 和美元符號 ($)。

  • 正則表示式還可以包含量詞。加號 (+) 表示一次或多次,應用於表示式的前面元素。星號 (*) 用於表示零次或多次出現。問號 (?) 表示零次或一次。

  • 元字元 { 和 } 用於匹配前面字元的特定數量的例項。

  • 在正則表示式中,句點符號 (.) 可以表示任何字元。這被稱為萬用字元。

  • 正則表示式可以包含字元類。一組字元可以作為包含在元字元 [ 和 ] 中的簡單字元序列給出,如 [aeiou]。對於字母或數字範圍,可以使用連字元分隔符,如 [a–z] 或 [a–mA–M]。字元類的補集由方括號內的前導插入符號表示,如 [∧a–z],表示除指定字元之外的所有字元。下面給出了一些正則表示式的示例

'Groovy' =~ 'Groovy' 
'Groovy' =~ 'oo' 
'Groovy' ==~ 'Groovy' 
'Groovy' ==~ 'oo' 
'Groovy' =~ '∧G' 
‘Groovy' =~ 'G$' 
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'
廣告

© . All rights reserved.