Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗pyPmREChG 39 of 129 menu

กลุ่มตัวอักษรใน Regular Expressions Python

มีคำสั่งพิเศษที่อนุญาตให้เลือกกลุ่มตัวอักษรทั้งหมดได้ในคราวเดียว คำสั่ง \d หมายถึง ตัวเลข ตั้งแต่ 0 ถึง 9 คำสั่ง \w หมายถึง ตัวเลข ตัวอักษรละติน หรือเครื่องหมายขีดล่าง คำสั่ง \s หมายถึง ช่องว่างหรืออักขระว่าง: ช่องว่าง, ขึ้นบรรทัดใหม่, แท็บ คุณสามารถกลับค่าของ คำสั่งได้โดยการเขียนตัวพิมพ์ใหญ่: ตัวอย่างเช่น หาก \d คือตัวเลข แล้ว \D คือ ไม่ใช่ตัวเลข

ตัวอย่าง

ลองหาตัวเลขทั้งหมด:

txt = '1 12 123' res = re.sub('\d', '!', txt) print(res)

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

'! !! !!!'

ตัวอย่าง

โอเปอเรเตอร์การทำซ้ำถือว่าคำสั่งกลุ่ม เป็นหนึ่งหน่วย นั่นคือไม่จำเป็นต้องใช้วงเล็บจัดกลุ่ม ในตัวอย่างถัดไป แพตเทิร์นการค้นหา มีลักษณะดังนี้: ตัวเลขตั้งแต่ 0 ถึง 9 หนึ่งครั้งหรือมากกว่า:

txt = '1 12 123 abc @@@' res = re.sub('\d+', '!', txt) print(res)

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

'! ! ! abc @@@'

ตัวอย่าง

ในตัวอย่างถัดไป แพตเทิร์นการค้นหา มีลักษณะดังนี้: อะไรก็ได้หนึ่งครั้งหรือมากกว่า, แต่ไม่ใช่ตัวเลขตั้งแต่ 0 ถึง 9:

txt = '123abc3@@' res = re.sub('\D+', '!', txt) print(res)

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

'123!3!'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหา มีลักษณะดังนี้: อักขระว่างหนึ่งครั้ง:

txt = '1 12 123 abc @@@' res = re.sub('\s', '!', txt) print(res)

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

'1!12!123!abc!@@@'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหา มีลักษณะดังนี้: อักขระที่ไม่ใช่อักขระว่างหนึ่งครั้งหรือมากกว่า สตริงย่อยทั้งหมดที่คั่นด้วย ช่องว่าง จะถูกแทนที่ด้วย '!':

txt = '1 12 123 abc @@@' res = re.sub('\S+', '!', txt) print(res)

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

'! ! ! ! !'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหา มีลักษณะดังนี้: ตัวเลขหรือตัวอักษรหนึ่งครั้งหรือมากกว่า สตริงย่อยทั้งหมดที่ประกอบด้วยตัวเลข และตัวอักษร จะถูกแทนที่ด้วย '!':

txt = '1 12 123a Abc @@@' res = re.sub('\w+', '!', txt) print(res)

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

'! ! ! ! @@@'

ตัวอย่าง

ในตัวอย่างนี้ แพตเทิร์นการค้นหา มีลักษณะดังนี้: ไม่ใช่ตัวเลขและไม่ใช่ตัวอักษรหนึ่งครั้งหรือมากกว่า คำจำกัดความนี้ในกรณีของเรา ตรงกับ '@@@' และช่องว่างทั้งหมด (พวกมันก็ไม่ใช่ตัวเลขและไม่ใช่ตัวอักษรเช่นกัน) โปรดสังเกตว่าตอนท้ายมีหนึ่ง '!' - มันแปลงมาจากสตริง ' @@@' - มีช่องว่างนำหน้า:

txt = '1 12 123 Abc @@@' res = re.sub('\W+', '!', txt) print(res)

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

'1!12!123!Abc!'

โจทย์ฝึกปฏิบัติ

กำหนดสตริง:

txt = 'a1a a2a a3a a4a a5a aba aca'

เขียน Regular Expression ที่จะค้นหาสตริง, โดยที่ ด้านข้างมีตัวอักษร 'a', และระหว่างพวกมันมีหนึ่งตัวเลข

กำหนดสตริง:

txt = 'a1a a22a a333a a4444a a55555a aba aca'

เขียน Regular Expression ที่จะค้นหาสตริง, โดยที่ ด้านข้างมีตัวอักษร 'a', และระหว่างพวกมันมีตัวเลขจำนวนเท่าใดก็ได้

กำหนดสตริง:

txt = 'aa a1a a22a a333a a4444a a55555a aba aca'

เขียน Regular Expression ที่จะค้นหาสตริง, โดยที่ ด้านข้างมีตัวอักษร 'a', และระหว่างพวกมันมีตัวเลขจำนวนเท่าใดก็ได้ (รวมถึง ศูนย์ตัวเลข นั่นคือสตริง 'aa')

กำหนดสตริง:

txt = 'avb a1b a2b a3b a4b a5b abb acb'

เขียน Regular Expression ที่จะค้นหาสตริง รูปแบบต่อไปนี้: ด้านข้างมีตัวอักษร 'a' และ 'b', และระหว่างพวกมัน - ไม่ใช่ตัวเลขและไม่ใช่ช่องว่าง

กำหนดสตริง:

txt = 'ave a#b a2b a$b a4b a5b a-b acb'

เขียน Regular Expression ที่จะค้นหาสตริง รูปแบบต่อไปนี้: ด้านข้างมีตัวอักษร 'a' และ 'b', และระหว่างพวกมัน - ไม่ใช่ตัวอักษร ไม่ใช่ตัวเลข และไม่ใช่ช่องว่าง

กำหนดสตริง:

txt = 'ave a#a a2a a$a a4a a5a a-a aca'

เขียน Regular Expression ที่จะแทนที่ ช่องว่างทั้งหมดด้วย '!'

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