101 of 151 menu

วิธีการ finditer ของโมดูล re

วิธีการ finditer ของโมดูล re จะคืนค่าอิเทอเรเตอร์ของการจับคู่ทั้งหมดกับ นิพจน์ปกติ ในสตริง ในพารามิเตอร์แรกของเมธอดเราระบุ นิพจน์ปกติ ในพารามิเตอร์ที่สองเรากำหนด สตริงที่เราต้องการค้นหานิพจน์ปกติ ในพารามิเตอร์ที่สาม ซึ่งเป็นตัวเลือกสามารถกำหนด แฟล็ก ได้ เมธอดจะตรวจสอบการจับคู่ทั้งหมด โดยค้นหา จากซ้ายไปขวา

ไวยากรณ์

import re re.finditer(นิพจน์ปกติ, สตริง, [แฟล็ก])

ตัวอย่าง

ลองหาสตริงย่อยทั้งหมดที่มีตัวเลขใน สตริงของเรา:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) print(res)

ผลลัพธ์จากการรันโค้ด:

<callable_iterator object at 0x000002AA891300A0>

ตัวอย่าง

ตอนนี้ลองประกาศตัวแปร res ซึ่งมีค่าเป็นออบเจกต์ที่เราได้ มาในตัวอย่างก่อนหน้านี้ จากนั้นวนลูปผ่าน มัน:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

หลังจากรันโค้ด เราจะได้ออบเจกต์ Match object สองตัว:

<re.Match object; span=(5, 8), match='123'> <re.Match object; span=(14, 17), match='456'>

ออบเจกต์เหล่านี้มีข้อมูลเกี่ยวกับ การจับคู่ทั้งหมดกับนิพจน์ปกติในรูปแบบทูเปิล เราสามารถแสดงการจับคู่จาก พวกมันโดยใช้ดัชนี:

for el in res: print(el[0])

ผลลัพธ์จากการรันโค้ด:

'123' '456'

ตัวอย่าง

เพื่อให้เห็นภาพชัดเจนขึ้น ลองใช้ กรุ๊ป (capture groups) ในการค้นหา การจับคู่ และ ขณะที่วนลูปผ่านออบเจกต์ ให้แสดงการจับคู่แรก (ซึ่งจะถูกนับเป็นกรุ๊ปที่ศูนย์) รวมถึงสมาชิกของมัน ซึ่งกระจายอยู่ใน กรุ๊ปเช่นกัน:

txt = 'aaaa 123 bbbb 456' res = re.finditer('(\d)(\d)', txt) for el in res: print(el[0], el[1], el[2])

หลังจากรันโค้ด เราจะได้กรุ๊ปที่ศูนย์ ซึ่งก็คือสตริงย่อยทั้งหมด และยังได้อักขระตัวแรก และตัวที่สองจากสตริงย่อยนี้:

'12' '1' '2' '45' '4' '5'

ดูเพิ่มเติม

  • วิธีการ findall ของโมดูล re,
    ซึ่งจะคืนค่า รายการของการจับคู่ทั้งหมดในสตริง
  • วิธีการ search ของโมดูล re,
    ซึ่งค้นหาการจับคู่ แรกกับนิพจน์ปกติในสตริง
  • วิธีการ match ของโมดูล re,
    ซึ่งค้นหา การจับคู่กับนิพจน์ปกติที่จุดเริ่มต้นของสตริง
  • วิธีการ fullmatch ของโมดูล re,
    ซึ่งค้นหาการจับคู่ ทั้งหมดกับนิพจน์ปกติในสตริง
  • ออบเจกต์ Match object ของโมดูล re,
    ซึ่งมี ข้อมูลเกี่ยวกับการจับคู่กับนิพจน์ปกติ
  • วิธีการ split ของโมดูล re,
    ซึ่งแยก สตริงออกเป็นรายการตามตัวแบ่งที่กำหนด
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ