9 Temmuz 2020 Perşembe

Düzenli İfadeler (Regular Expressions) ile Negative Lookbehind - Belli Karakter İle Başlamadığı

Giriş
Negative Lookbehind düzenli ifadeye (?<!subexpression) şeklinde yazılır.

Örnek - Java
Şöyle yaparız. İlk 2 karater saklanır, 3. karakter es geçilir. Sonraki 3 karakter saklanır.
str = str.replaceAll("(?<!^..).(?=.{3})", "*");
//=> **0**********351
Açıklaması şöyle.
(?<!^..): Negative lookbehind to assert that we don't have 2 characters behind us (to exclude 3rd character from matching)
. Match a character
(?=.{3}) Positive lookahead to assert that we have at least 3 characters ahead
Örnek - Java
Şöyle yaparız. "sdhgjhdgsjdf12:34knvxjkvndf " şeklindeki string'den 12:34 kısmı alınır
(?<!\d)  # negative lookbehind to assert previous char is not a digit
\d{2}    # match exact 2 digits
:        # match a colon
\d{2}    # match exact 2 digits
(?!\d)   # negative lookahead to assert next char is not a digit

Hiç yorum yok:

Yorum Gönder