Groovy-正規表現

正規表現は、テキスト内の部分文字列を検索するために使用されるパターンです。Groovyは、〜” regex”式を使用してネイティブに正規表現をサポートします。引用符で囲まれたテキストは、比較のための式を表しています。

たとえば、次のように正規表現オブジェクトを作成できます。

def regex = ~'Groovy'

Groovy演算子=〜が述語(ブール値を返す式)として表示される場合 if そして whileステートメント(第8章を参照)では、左側の文字列オペランドが右側の正規表現オペランドと照合されます。したがって、次のそれぞれが真の値を提供します。

正規表現を定義する場合、次の特殊文字を使用できます-

  • 行の開始と終了を示すために使用される2つの特別な位置文字があります。キャレット(∧)とドル記号($)です。

  • 正規表現には数量詞を含めることもできます。プラス記号(+)は、式の前の要素に適用される1回以上を表します。アスタリスク(*)は、0回以上の出現を表すために使用されます。疑問符(?)は、ゼロまたは1回を示します。

  • メタ文字{および}は、前の文字の特定の数のインスタンスと一致するために使用されます。

  • 正規表現では、ピリオド記号(。)は任意の文字を表すことができます。これはワイルドカード文字として説明されます。

  • 正規表現には文字クラスが含まれる場合があります。文字のセットは、[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'