So khớp tham lam vs. không tham lam

Regular Expressions in Python

Maria Eugenia Inzaugarat

Data Scientist

So khớp tham lam vs. không tham lam

  • Hai kiểu so khớp:

    • Tham lam (greedy)
    • Không tham lam hay lười (lazy)
  • Các lượng từ mặc định là tham lam: *, +, ?, {num, num}

Regular Expressions in Python

So khớp tham lam

  • Tham lam: khớp nhiều ký tự nhất có thể

  • Trả về chuỗi khớp dài nhất

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

Regular Expressions in Python

So khớp tham lam

  • Quay lui khi khớp quá nhiều ký tự

  • Bỏ bớt từng ký tự một

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

Regular Expressions in Python

So khớp không tham lam

  • Không tham lam (lazy): khớp ít ký tự nhất cần thiết
  • Trả về chuỗi khớp ngắn nhất
  • Thêm ? vào sau lượng từ tham lam
import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

Regular Expressions in Python

So khớp không tham lam

  • Quay lui khi khớp quá ít ký tự

  • Mở rộng thêm từng ký tự một

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

Regular Expressions in Python

Hãy thực hành!

Regular Expressions in Python

Preparing Video For Download...