⊗pyPmREMl 50 of 129 menu

Πολυγραμμικότητα στις κανονικές εκφράσεις της Python

Οι κανονικές εκφράσεις όταν δουλεύουν με πολυγραμμικές συμβολοσειρές έχουν τις ιδιαιτερότητές τους. Ας τις μελετήσουμε με το παράδειγμα της ακόλουθης συμβολοσειράς, που περιέχει συνηθισμένους χαρακτήρες, χαρακτήρες αλλαγής γραμμής και ταμπουλάρισματος:

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 '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

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

Δίνεται η συμβολοσειρά:

''' abc def ghi jkl '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

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

Δίνεται η συμβολοσειρά:

''' abc def ghi jkl '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

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

Δίνεται η συμβολοσειρά:

''' abc def ghi jkl '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

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

Δίνεται η συμβολοσειρά:

''' abc def ghi jkl '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

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

Δίνεται η συμβολοσειρά:

''' abc def ghi jkl '''

Γράψτε μια κανονική έκφραση που θα μετατρέψει αυτήν τη συμβολοσειρά στην ακόλουθη:

''' !abc !def !ghi !jkl '''
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη