Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ