SORU
4 HAZİRAN 2010, Cuma


Düzenli ilerleme, geriye ilerleme ve atom grupları

Düzenli vücudumdaki bu şeyler buldum ama onları kullanmak için bir fikrim yok? Birisi nasıl çalıştığını anlamak için denemek böylece bazı örnekler var mı?

(?!) - negative lookahead
(?=) - positive lookahead
(?<=) - positive lookbehind
(?<!) - negative lookbehind

(?>) - atomic group

CEVAP
4 HAZİRAN 2010, Cuma


Lookarounds sıfır genişlik iddialar. Onay için bir düzenli ifade (doğru sağa veya sola geçerli konuma göre ileri ya da geri), başarılı veya başarısız olduğunda bir maç bulunamadı (göre ise pozitif veya negatif) ve atar eşleşen bölümü. Herhangi bir karakter tüketmezler. - onları takip için düzenli ifade eşleştirme (varsa), aynı imleç konumunda başlayacaktır.

Daha fazla ayrıntı için regular-expression.info okuyun.

  • Pozitif ilerleme:

Kullanımı:

(?=REGEX_1)REGEX_2

Eğer REGEX_1 eşleşirse, REGEX_1, eşleşme atılır ve aynı pozisyonda REGEX_2 başlar arıyor sonra maç.

örnek:

(?=[a-z0-9]{4}$)[a-z]{1,2}[0-9]{2,3}

REGEX_1 dört alfasayısal karakter satır sonu ile eşleşir [a-z0-9]{4}$.
REGEX_2 ya da iki harf, iki veya üç basamak ile izlenen bir maçlar [a-z]{1,2}[0-9]{2,3}.

REGEX_1 dize uzunluğu aslında 4 ama REGEX_2 arayın aynı yerde başlar, böylece herhangi bir karakter tüketmek yok olmasını sağlar. Şimdi REGEX_2 dize başka kurallar eşleşmesini sağlar. Bak ileriye olmadan uzunlukta bir dize üç ya da beş maç olurdu.

  • Negatif ilerleme

Kullanımı:

(?!REGEX_1)REGEX_2

Eğer REGEX_1; REGEX_1, aynı pozisyonda REGEX_2 başlar Ara kontrol ettikten sonra maç mı yoksa tek maç.

örnek:

(?!.*\bFWORD\b)\w{10,30}$

İleriye bak dizesinde FWORD bölümünü kontrol eder ve eğer bulursa başarısız olur. Eğer bulmak değil mi FWORD, bak-ileride başarılı olur ve aşağıdaki kısmı dize uzunluğu 10 ile 30 arasında olduğunu ve sadece sözcük karakteri a-zA-Z0-9_ içerdiğini doğrular

Bak-dinle-ileride benzer: sadece geçerli imleç konumuna arkasında görünüyor. Javascript gibi bazı düzenli tatlar bak arkada iddialar desteklemiyor. Ve bunu destekleyen en tatlar (PHP, Python vb)-arkasına bak kısmını sabit bir uzunlukta olması gerekir.

  • Atom grupları temelde bir belirteci eşleşen sonra grup sonraki simgeleri unutur atar. atomic groups örnekler için bu sayfayı kontrol edin

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007