Açgözlü vs. açgözlü olmayan eşleme

Python'da Regular Expressions

Maria Eugenia Inzaugarat

Data Scientist

Açgözlü vs. açgözlü olmayan eşleme

  • İki eşleme yöntemi:

    • Açgözlü
    • Açgözlü olmayan (tembel)
  • Standart niceleyiciler varsayılan olarak açgözlüdür: *, +, ?, {num, num}

Python'da Regular Expressions

Açgözlü eşleme

  • Açgözlü: olabildiğince çok karakteri eşler

  • En uzun eşleşmeyi döndürür

import re
re.match(r"\d+", "12345bcada")
<re.Match object; span=(0, 5), match='12345'>

Python'da Regular Expressions

Açgözlü eşleme

  • Çok fazla karakter eşlendiğinde geri izler

  • Karakterleri teker teker bırakır

import re
re.match(r".*hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Python'da Regular Expressions

Açgözlü olmayan eşleme

  • Tembel: gereken en az karakteri eşler
  • En kısa eşleşmeyi döndürür
  • Açgözlü niceleyicilere ? ekleyin
import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

Python'da Regular Expressions

Açgözlü olmayan eşleme

  • Çok az karakter eşlendiğinde geri izler

  • Karakterleri teker teker genişletir

import re
re.match(r".*?hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Python'da Regular Expressions

Hadi pratik yapalım!

Python'da Regular Expressions

Preparing Video For Download...