⊗pyPmRECB 37 of 129 menu

วงเล็บปีกกาในนิพจน์ทั่วไปของ Python

โอเปอเรเตอร์ '+', '*', '?' นั้นใช้งานได้ดี อย่างไรก็ตาม ไม่สามารถระบุ จำนวนการทำซ้ำที่แน่นอนได้ด้วยโอเปอเรเตอร์เหล่านี้ ในกรณีนี้ โอเปอเรเตอร์ {} จะมาช่วยคุณ

มันทำงานดังนี้: {5} - ทำซ้ำห้าครั้ง, {2,5} – ทำซ้ำ จากสองถึงห้าครั้ง (รวมทั้งสองจำนวน), {2,} - ทำซ้ำสองครั้งขึ้นไป ดู ตัวอย่าง:

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหาคือ ดังนี้: ตัวอักษร 'x', ตัวอักษร 'a' หนึ่งหรือสองครั้ง, ตัวอักษร 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{1,2}x', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'xx ! ! xaaax'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหาคือ ดังนี้: ตัวอักษร 'x', ตัวอักษร 'a' สองครั้งขึ้นไป, ตัวอักษร 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{2,}x', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'xx xax ! !'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหาคือ ดังนี้: ตัวอักษร 'x', ตัวอักษร 'a' สามครั้ง, ตัวอักษร 'x':

txt = 'xx xax xaax xaaax' res = re.sub('xa{3}x', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'xx xax xaax !'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหาคือ ดังนี้: ตัวอักษร 'a' สิบครั้ง:

txt = 'aaa aaaaaaaaaa aaa' res = re.sub('a{10}', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'aaa ! aaa'

ตัวอย่าง

ในตัวอย่างนี้ มีแพตเทิร์นดังนี้: ตัวอักษร 'x', ตัวอักษร 'a' สามครั้งหรือน้อยกว่า, ตัวอักษร 'x' เพื่อที่จะ ทำให้เป็นจริง ก่อนตัวเลข 3 สามารถไม่ระบุตัวเลข แต่ใส่ เพียงเครื่องหมายจุลภาค:

txt = 'xx xax xaax xaaax' res = re.sub('xa{,3}x', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'! ! ! !'

ตัวอย่าง

ศูนย์ก่อน 3 ก็เป็นที่อนุญาตเช่นกัน:

txt = 'xx xax xaax xaaax' res = re.sub('xa{0,3}x', '!', txt) print(res)

ผลลัพธ์ของการรันโค้ด:

'! ! ! !'

โจทย์ปัญหาปฏิบัติ

กำหนดสตริง:

txt = 'aa aba abba abbba abbbba abbbbba'

เขียนนิพจน์ทั่วไปที่ค้นหาสตริง 'abba', 'abbba', 'abbbba' และเฉพาะพวกมันเท่านั้น

กำหนดสตริง:

txt = 'aa aba abba abbba abbbba abbbbba'

เขียนนิพจน์ทั่วไปที่ค้นหาสตริง รูปแบบ 'aba' ซึ่ง 'b' ปรากฏน้อยกว่า 3 ครั้ง (รวม)

กำหนดสตริง:

txt = 'aa aba abba abbba abbbba abbbbba'

เขียนนิพจน์ทั่วไปที่ค้นหาสตริง รูปแบบ 'aba' ซึ่ง 'b' ปรากฏมากกว่า 4 ครั้ง (รวม)

ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ