⊗pyPmREChS 40 of 129 menu

ชุดอักขระในนิพจน์ทั่วไปของ Python

กลุ่มอักขระ \d และ \w นั้น ไม่ยืดหยุ่นมากนัก แม้แต่งานง่าย ๆ อย่าง ค้นหาตัวอักษรทั้งหมด แต่ไม่ใช่ตัวเลข - ก็ไม่สามารถแก้ไขได้ด้วยกลุ่มเหล่านี้ สำหรับงานดังกล่าว ควรใช้วงเล็บเหลี่ยมแทน ซึ่งแสดงถึงตัวดำเนินการ 'หรือ'

วงเล็บเหลี่ยมจะแทนที่อักขระหนึ่งตัว ซึ่งเป็นตัวใดก็ได้ที่ระบุไว้ภายใน ตัวอย่างเช่น แบบนี้: x[abc]x - เรา กำลังบอกว่าที่ขอบทั้งสองด้านต้องเป็นตัวอักษร x และตรงกลาง - เป็นอักขระหนึ่งตัว: อาจเป็น 'a', หรือ 'b', หรือ 'c'

หลังจากวงเล็บเหลี่ยม คุณสามารถเขียน ตัวดำเนินการทำซ้ำได้ ตัวอย่างเช่น แบบนี้: x[abc]+x - เรา กำลังบอกว่าภายในตัว x สามารถมีอักขระ 'a', 'b' และ 'c' จำนวนเท่าใดก็ได้ - ในรูปแบบผสมใดก็ได้

คุณไม่เพียงแต่สามารถระบุอักขระได้เท่านั้น แต่ยัง สามารถสร้างกลุ่มอักขระได้ โดยเขียนระหว่าง อักขระสองตัวด้วยเครื่องหมายขีดกลาง ตัวอย่างเช่น แบบนี้: [a-d] - เรา จะได้อักขระทั้งหมดตั้งแต่ 'a' ถึง 'd'

ลองดูตัวอย่างกัน

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'a' ถึง 'z':

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

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

'! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'a' ถึง 'k':

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

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

'! ! xmx x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'A' ถึง 'Z':

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

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

'xax ! xcx x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวเลขใด ๆ ตั้งแต่ 0 ถึง 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

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

'xax ! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวเลขใด ๆ ตั้งแต่ 3 ถึง 7:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

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

'xax x1x ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'a' ถึง 'z' หรือตัวเลขตั้งแต่ 1 ถึง 9:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

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

'! ! ! ! x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'a' ถึง 'z' หรือตัวอักษรตั้งแต่ 'A' ถึง 'Z':

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

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

'! ! ! x5x x@x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรใด ๆ ตั้งแต่ 'a' ถึง 'z' หรือตัวเลข 1, 2:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

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

'! ! ! ! x3x'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาดูเหมือน ดังนี้: ระหว่างตัว x คือตัวอักษรตั้งแต่ 'a' ถึง 'z' โดยมีจำนวนตั้งแต่ 1 ตัวขึ้นไป:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

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

'xx ! ! ! x123x xa3x'

ตัวอย่าง

มาทำให้จำนวนตัวอักษรสามารถเป็นศูนย์ได้:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

ผลลัพธ์ที่เราได้:

'! ! ! ! x123x xa3x'

ตัวอย่าง

ภายในวงเล็บเหลี่ยมยังสามารถระบุ อักขระที่ถูกหนีได้ด้วย มาค้นหาลำดับของตัวอักษรและตัวเลข ที่ซ้ำกันศูนย์ครั้งหรือมากกว่านั้น:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

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

'! x@x ! ! !'

ตัวอย่าง

หากเราต้องการระบุวงเล็บเหลี่ยมอีกชุดหนึ่ง เราก็ต้องหนีมันด้วย:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

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

'! ! ! x3x'

โจทย์ฝึกหัด

ให้สตริง:

txt = 'aba aea aca aza axa'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษร 'b', 'e' หรือ 'x'

ให้สตริง:

txt = 'a1a a3a a7a a9a aba'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวเลขตั้งแต่ 3 ถึง 6

ให้สตริง:

txt = 'aba aea afa aha aga'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรตั้งแต่ 'a' ถึง 'g'

ให้สตริง:

txt = 'aba aea afa aha aga'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรตั้งแต่ 'a' ถึง 'f' และตั้งแต่ 'j' ถึง 'z'

ให้สตริง:

txt = 'aAa aea aEa aJa a3a'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรตั้งแต่ 'a' ถึง 'f' และตั้งแต่ 'A' ถึง 'D'

ให้สตริง:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรภาษาอังกฤษตัวเล็ก โดยไม่กระทบกับส่วนอื่น

ให้สตริง:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรภาษาอังกฤษตัวเล็กและ ตัวใหญ่ โดยไม่กระทบกับส่วนอื่น

ให้สตริง:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

เขียนนิพจน์ทั่วไปที่ค้นหาตาม รูปแบบต่อไปนี้: ที่ขอบเป็นตัวอักษร 'a' และระหว่างนั้น - เป็นตัวอักษรภาษาอังกฤษตัวเล็ก และตัวเลข โดยไม่กระทบกับส่วนอื่น

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