⊗pyPmREMl 50 of 129 menu

การจัดการหลายบรรทัดใน Regular Expression ของ Python

Regular expression เมื่อทำงานกับข้อความหลายบรรทัด มีลักษณะเฉพาะของตัวเอง มาลองศึกษา ด้วยตัวอย่างจากข้อความต่อไปนี้ ซึ่งประกอบด้วยตัวอักษรธรรมดา, อักขระขึ้นบรรทัดใหม่ และแท็บ:

txt = '''111 222 333 444'''

อักขระขึ้นบรรทัดใหม่

อักขระขึ้นบรรทัดใหม่สามารถจับได้ด้วย คำสั่ง '\n':

res = re.sub('\n', '!', txt) print(res)

ผลลัพธ์ที่ได้จะเป็นข้อความดังต่อไปนี้ (ช่องว่างระหว่างบรรทัดคือแท็บ):

'111! 222! 333! 444'

แท็บ

อักขระแท็บสามารถจับได้ด้วย คำสั่ง '\t':

res = re.sub('\t', '!', txt) print(res)

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

''' !111 !222 !333 !444 '''

การทำงานของจุด

คำสั่ง '.' สำหรับข้อความหลายบรรทัด จะไม่จับอักขระขึ้นบรรทัดใหม่:

res = re.sub('.', '!', txt) print(res)

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

''' !!! !!!! !!!! !!!! '''

อักขระใดๆ

เพื่อจับอักขระทั้งหมดในข้อความหลายบรรทัด มีเทคนิคพิเศษคือการใช้การรวม [\s\S] โครงสร้างดังกล่าว จะค้นหาตัวอักษรธรรมดาทุกตัวและการขึ้นบรรทัดใหม่ทั้งหมด:

res = re.sub('[\s\S]', '!', txt) print(res)

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

'!!!!!!!!!!!!!!!!!!'

ดอลลาร์

คำสั่ง '$' ในโหมดหลายบรรทัด จะจับจุดสิ้นสุดของแต่ละบรรทัด:

res = re.sub('$', '!', txt) print(res)

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

''' 111! 222! 333! 444! '''

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

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

''' abc! def! ghi! jkl! '''

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

''' ! abc ! def ! ghi ! jkl '''

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

'''! abc def ghi jkl !'''

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

'''! ! abc ! def ! ghi ! jkl !'''

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

'''! abc! def! ghi! jkl! !'''

กำหนดข้อความ:

''' abc def ghi jkl '''

เขียน regular expression ที่จะเปลี่ยน ข้อความนี้ให้เป็นดังนี้:

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