Metamärkide loend:
Enne mustri kasutamist stringi asendamiseks peate teadma, kuidas kirjutada regulaaravaldise muster. Täpse vaste mustrina saate kasutada mis tahes stringi väärtust. Kuid konkreetse otsingu jaoks peate kirjutama regulaaravaldise mustri, kasutades metakakterit. Mustrite kirjutamiseks kõige sagedamini kasutatavate metamärkide loend on toodud allpool tähendusega.
Iseloom | Kirjeldus |
. | Seda kasutatakse üksikute märkide, välja arvatud uue rea sobitamiseks. |
^ | Seda kasutatakse mis tahes märgi või stringi sobitamiseks string. |
$ | Seda kasutatakse mis tahes märgi või stringi sobitamiseks stringi lõpus. |
+ | Seda kasutatakse mustri ühe või mitme esinemise sobitamiseks. |
? | Seda kasutatakse mustri nulli või ühe esinemise sobitamiseks. |
() | Seda kasutatakse mustrite rühmitamiseks. |
Seda kasutatakse alumise või ülemise või nii alumise kui ka ülemise põhjal sobitamiseks piirid. | |
[] | Seda kasutatakse tähemärkide sobitamiseks antud vahemiku põhjal. |
| | Seda kasutatakse VÕI loogikal põhinevate mustrite sobitamiseks. |
\ | Seda kasutatakse konkreetsete märkide või mittemärkide või numbrite või mittekohaline. |
Asenda meetod:
alam () meetod "re" moodulit kasutatakse Pythonis stringi asendamiseks.
Süntaks:
alam (muster, asendus, string, arv = 0, lipud = 0)Siin muster, asendama ja string on kohustuslikud argumendid. Kui muster on sobitatud mis tahes osa string siis asendab see osa väärtusega asendades argument. Kaks ülejäänud argumenti on valikulised. Ülalmainitud metamärkide sub () meetodi mõningaid kasutusviise on näidatud järgmistes stringi asendamise näidetes.
Näide 1: asendage string täpse vastega
Kui teate täpset stringi väärtust, mida soovite põhistringist otsida, saate otsitava stringi väärtust mustrina kasutada alam () meetod. Looge järgmise skriptiga pythoni fail. Siin on otsitava stringi väärtus 'vihmane' ja asendav stringi väärtus 'päikeseline'.
#!/ usr / bin / env python3# Impordi regex moodul
impordi re
# Määrake string
orgStr = "On vihmane päev"
# Asendage string
repStr = re.alam ("vihmane", "päikeseline", orgStr)
# Trükkige algne string
print ("Algtekst:", orgStr)
# Printige asendatud string
print ("Asendatud tekst:", repStr)
Väljund:
Väljund kuvatakse pildi paremal küljel.
Näide 2: stringi otsimine ja asendamine alguses
Selle kasutamise teadmiseks looge järgmise skriptiga pythoni fail '^' regulaaravaldise mustris. Siin, "^ [A-Za-z] + ' kasutatakse otsingu mustrina. See otsib kõiki tähestikulisi märke A kuni Z ja a kuni z teksti alguses ja asendage see tühja väärtusega. Välja vahetatud string trükitakse suurte tähtedega ülemine () meetod.
#!/ usr / bin / env python3# Impordi regex moodul
impordi re
# Võtke stringi sisend
originalText = input ("Sisestage tekst \ n")
# Asendage string mustri põhjal
asendatudTekst = re.alam ('^ [A-Za-z] +', ", originalText).ülemine ()
# Printige asendatud string
print ("Asendatud tekst:", asendatudTekst)
Väljund:
Väljund kuvatakse pildi paremal küljel. Siin, "Tere, tere tulemast linuxhinti" võetakse sisendiks ja 'Tere' sõna asendatakse sõnaga " mustri jaoks.
Näide 3: stringi otsimine ja asendamine lõpus
'Kasutusala loomiseks looge järgmise skriptiga pythoni fail$ ' sümbol regulaaravaldises. Siin, "[a-z0-9] + $'kasutatakse skripti mustrina. See otsib teksti lõpus kõiki väikesi tähestikke ja numbreid ning kui väärtus on tõene, asendatakse vastav osa stringiga. 'com.bd".
#!/ usr / bin / env python3# Impordi regex moodul
impordi re
# Võtke stringi sisend
originalText = input ("Sisestage URL-i aadress \ n")
# Asendage string mustri põhjal
asendatudTekst = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Printige asendatud string
print ("Asendatud tekst:", asendatudTekst)
Väljund:
Väljundit näidatakse pildi paremas servas. Siin, 'https: // www.google.com 'võetakse sisendtekstiks ja pärast asendamist' https: // www.google.com.bd 'trükitakse väljundina.
Näide 4: stringi konkreetse osa otsimine ja asendamine
Looge järgmise skriptiga pythoni fail, et otsida ja asendada teksti osa mustri vastavas kohas. Siin omistatakse nimega muutujale tekstina e-posti aadresside loend e-kirjad. '@ [a-z]' kasutatakse otsimiseks mustrit. See otsib kõiki alamstringi, mis algab väikeste tähestikega, millele järgneb '@sümbol. Kui mõni alamstring sobib, asendab see selle alamstringi sõnaga '@linuxhint".
#!/ usr / bin / env python3# Impordi regex moodul
impordi re
# Määrake string
emails = '\ n [email kaitstud] \ n [email kaitstud] \ n [email kaitstud]'
# Asendage stringi konkreetne osa mustri põhjal
asendatudTekst = re.alam ('@ [a-z] *', '@ linuxhint', meilid)
# Trükkige algne string
print ("Algtekst:", e-kirjad)
# Printige asendatud string
print ("\ nUuendatud tekst:", asendatudTekst)
Väljund:
Väljund kuvatakse pildi paremal küljel. Siin asendatakse tekstis määratud e-posti aadressi kõik domeeniosad tekstigalinuxhint".
Järeldus:
Regulaarsete avaldiste mustrite väga levinud kasutusviisid on selles õpetuses näidatud stringide asendamiseks. Püütonis on palju muid võimalusi kirjutada erinevat tüüpi lihtsaid ja keerukaid mustreid teksti stringi otsimiseks ja asendamiseks.
Vaata autori videot: siin