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

เราจะใช้เมธอด re.finditer() ในนิพจน์ทั่วไปของ Python ได้อย่างไร


ตามเอกสารของ Python

re.finditer(pattern, string, flags=0)

ส่งคืนตัววนซ้ำที่ให้อินสแตนซ์ของ MatchObject ในการแข่งขันที่ไม่ทับซ้อนกันทั้งหมดสำหรับรูปแบบ RE ในสตริง สตริงจะถูกสแกนจากซ้ายไปขวา และผลลัพธ์ที่ตรงกันจะถูกส่งคืนตามลำดับที่พบ การแข่งขันที่ว่างเปล่าจะรวมอยู่ในผลลัพธ์

โค้ดต่อไปนี้แสดงการใช้เมธอด re.finditer() ใน Python regex

ตัวอย่าง

import re
s1 = 'Blue Berries'
pattern = 'Blue Berries'
for match in re.finditer(pattern, s1):
    s = match.start()
    e = match.end()
    print 'String match "%s" at %d:%d' % (s1[s:e], s, e)

ผลลัพธ์

Strings match "Blue Berries" at 0:12