Groovy - Normal İfadeler
Normal ifade, metindeki alt dizeleri bulmak için kullanılan bir kalıptır. Groovy, ~ ”regex” ifadesini kullanarak yerel olarak normal ifadeleri destekler. Alıntılar içinde yer alan metin, karşılaştırma için ifadeyi temsil eder.
Örneğin, aşağıda gösterildiği gibi bir normal ifade nesnesi oluşturabiliriz -
def regex = ~'Groovy'
Groovy operatörü = ~, bir yüklem olarak göründüğünde (Boolean döndüren ifade) if ve whiledeyimlerde (bkz. Bölüm 8), soldaki String işleneni, sağdaki normal ifade işleneniyle eşleşir. Bu nedenle, aşağıdakilerin her biri doğru değeri verir.
Normal ifadeyi tanımlarken aşağıdaki özel karakterler kullanılabilir -
Bir satırın başlangıcını ve sonunu belirtmek için kullanılan iki özel konumsal karakter vardır: düzeltme işareti (∧) ve dolar işareti ($).
Normal ifadeler ayrıca nicelik belirteçleri içerebilir. Artı işareti (+), ifadenin önceki öğesine uygulanan bir veya daha fazla zamanı temsil eder. Yıldız işareti (*), sıfır veya daha fazla oluşumu temsil etmek için kullanılır. Soru işareti (?) Sıfırı veya bir defa gösterir.
{Ve} meta karakteri, önceki karakterin belirli sayıda örneğini eşleştirmek için kullanılır.
Normal ifadede nokta sembolü (.) Herhangi bir karakteri temsil edebilir. Bu, joker karakter olarak tanımlanır.
Normal bir ifade, karakter sınıflarını içerebilir. Bir dizi karakter, [aeiou] 'da olduğu gibi meta karakterler [ve] içine alınmış basit bir karakter dizisi olarak verilebilir. Harf veya sayı aralıkları için, [a – z] veya [a – mA – M] 'de olduğu gibi bir tire ayırıcısı kullanabilirsiniz. Bir karakter sınıfının tamamlayıcısı, kare raketler içinde [∧a – z] 'de olduğu gibi baştaki bir düzeltme işareti ile gösterilir ve belirtilenler dışındaki tüm karakterleri temsil eder. Normal ifadelerin bazı örnekleri aşağıda verilmiştir.
'Groovy' =~ 'Groovy'
'Groovy' =~ 'oo'
'Groovy' ==~ 'Groovy'
'Groovy' ==~ 'oo'
'Groovy' =~ '∧G'
‘Groovy' =~ 'G$'
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'