Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

กรณีการซ้ำ (Repetition) ใน Regular Expression ของ Python: +, *, ?

การใช้ +, *, ? ระบุจำนวนครั้งของการซ้ำของ pattern ทางซ้าย:

  • + — 1 ครั้งขึ้นไป (one or more) เช่น i+ = i หนึ่งตัวขึ้นไป
  • * — 0 ครั้งขึ้นไป (zero or more)
  • ? — 0 หรือ 1 ครั้ง (zero or one) ทำให้ pattern นั้น optional

ตัวอย่าง: จับคู่ 'he+' (h ตามด้วย e 1 ตัวขึ้นไป)

import re
s = "sheeeeeeeeple"
match = re.search(r"he+", s)
print(match.group())

ผลลัพธ์

heeeeeeee

ตารางสรุป Quantifiers

{n}{n,}{n,m}
Quantifierความหมายตัวอย่างจับคู่ได้
+1 ครั้งขึ้นไปab+cabc, abbc, abbbc, ...
*0 ครั้งขึ้นไปab*cac, abc, abbc, abbbc, ...
?0 หรือ 1 ครั้งab?cac, abc
n ครั้งพอดีa{3}aaa
n ครั้งขึ้นไปa{2,}aa, aaa, aaaa, ...
n ถึง m ครั้งa{2,4}aa, aaa, aaaa