Negate
Genellikle iki string arasındaki şeyi yakalamak için kullanılır.
Örnek
Şöyle yaparız. "SUB" ile başlayıp ",-&succes" ile biten string'ler eşleşir. İki karakter arasındaki herşey yakalanır. Capture group içinde ([^,]*) şeklinde yazarak capture groupin bitiş karakteri verilir.
Punctiation karakterleri şunlar olabilir
! (ünlem), $(dolar)
Örnek
Şöyle yaparız. all numeric (\\p{N}), letter (\\p{L}), punctuation (\\p{Punct}) anlamına gelir. ^ile tersi (negate) alınır. Böylece emojiler silinir.
Şöyle yaparız. 5 defa 4 karakterlik grup ve bir defa da geri kalan herşeyin olduğu bir grup yaratılır.
Şöyle yaparız
Genellikle iki string arasındaki şeyi yakalamak için kullanılır.
Örnek
Şöyle yaparız. "SUB" ile başlayıp ",-&succes" ile biten string'ler eşleşir. İki karakter arasındaki herşey yakalanır. Capture group içinde ([^,]*) şeklinde yazarak capture groupin bitiş karakteri verilir.
SUB([^,]*),-&succes
Şöyle yaparız.String s = "SUB8&20.000,-&succes&09/12/18SUB12&100.000,-&failed&07/12/18SUB16&40.000
,-&succes&09/12/18";
Pattern p = Pattern.compile("SUB([^,]*),-&succes");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
Çıktı olarak şunu alırız.8&20.000
16&40.000
p - Character ClassesPunctiation karakterleri şunlar olabilir
! (ünlem), $(dolar)
Örnek
Şöyle yaparız. all numeric (\\p{N}), letter (\\p{L}), punctuation (\\p{Punct}) anlamına gelir. ^ile tersi (negate) alınır. Böylece emojiler silinir.
String emotionless = aString.replaceAll("[^\\p{L}\\p{N}\\p{Punct}]","");
Bloklara Bölerek Capture Group
Şöyle yaparız. 5 defa 4 karakterlik grup ve bir defa da geri kalan herşeyin olduğu bir grup yaratılır.
str.replaceAll("(.{4})".repeat(5)+"(.*)","$1$2-$3-$4-$5-$6");}
WhiteSpace
Şöyle yaparız
Pattern whitespace = Pattern.compile("\\s");
Şöyle yaparızPattern whitespaces = Pattern.compile("\\s+");
Hiç yorum yok:
Yorum Gönder