Metaženklų sąrašas:
Prieš naudodami šabloną, kad pakeistumėte eilutę, turite žinoti, kaip parašyti reguliarųjį išraiškos šabloną. Galite naudoti bet kokią eilutės vertę kaip tikslios atitikties modelį. Bet norint atlikti konkrečią paiešką, turite parašyti taisyklingos išraiškos šabloną naudodami metachakterį. Dažniausiai naudojamų metaženklų, skirtų rašyti modeliams, sąrašas pateikiamas su prasme.
Charakteris | apibūdinimas |
. | Jis naudojamas norint suderinti bet kurį vieną simbolį, išskyrus naują eilutę. |
^ | Jis naudojamas norint suderinti bet kurį simbolį ar eilutę pradžioje stygos. |
$ | Jis naudojamas norint suderinti bet kurį simbolį ar eilutę eilutės pabaigoje. |
+ | Jis naudojamas norint suderinti vieną ar kelis modelio atvejus. |
? | Jis naudojamas nuliui arba vienam modelio atvejui suderinti. |
() | Jis naudojamas grupuojant modelius. |
Jis naudojamas derinant pagal apatinį ar viršutinį arba abu apatinį ir viršutinį ribos. | |
[] | Jis naudojamas derinant simbolius pagal nurodytą diapazoną. |
| | Jis naudojamas derinant modelius pagal OR logiką. |
\ | Jis naudojamas apibrėžti konkrečius simbolius ar ne simbolius, skaitmenis arba ne skaitmenys. |
Pakeisti metodą:
sub () metodas 're' modulis naudojamas „Python“ eilutėms pakeisti.
Sintaksė:
sub (modelis, pakeisti, eilutė, skaičius = 0, žymos = 0)Čia raštas, pakeisti ir stygos yra privalomi argumentai. Jei raštas yra suderinamas su bet kuria stygos tada ji pakeis dalį verte pakeičiantis argumentas. Kiti du argumentai yra neprivalomi. Kai kurie aukščiau paminėtų metaženklų su sub () metodu naudojimo būdai parodyti šiuose eilutės pakeitimo pavyzdžiuose.
1 pavyzdys: Pakeiskite eilutę tikslia atitiktimi
Jei žinote tikslią eilutės vertę, kurios norite ieškoti pagrindinėje eilutėje, galite naudoti paieškos eilutės vertę kaip šabloną sub () metodas. Sukurkite python failą naudodami šį scenarijų. Čia ieškomos eilutės vertė yra „lietinga“, o pakeičiančios eilutės vertė yra „saulėta“.
#!/ usr / bin / env python3# Importuoti regex modulį
importo re
# Apibrėžkite eilutę
orgStr = "Tai lietinga diena"
# Pakeiskite eilutę
repStr = re.sub („lietingas“, „saulėtas“, orgStr)
# Atspausdinkite originalią eilutę
spausdinti ("Originalus tekstas:", orgStr)
# Atspausdinkite pakeistą eilutę
spausdinti ("Pakeistas tekstas:", repStr)
Išvestis:
Išvestis rodoma dešinėje vaizdo pusėje.
2 pavyzdys: ieškokite ir pakeiskite eilutę pradžioje
Sukurkite python failą naudodami šį scenarijų, kad žinotumėte jo naudojimą '^' taisyklingosios išraiškos šablone. Čia “^ [A-Za-z] + ' yra naudojamas kaip paieškos modelis. Bus ieškoma visų abėcėlės simbolių iš A į Z ir a į z teksto pradžioje ir pakeiskite jį tuščia reikšme. Pakeista eilutė bus atspausdinta didžiosiomis raidėmis viršutinė () metodas.
#!/ usr / bin / env python3# Importuoti regex modulį
importo re
# Paimkite eilutės įvestį
originalText = input ("Įveskite tekstą \ n")
# Pakeiskite eilutę pagal modelį
pakeistasTekstas = re.sub ('^ [A-Za-z] +', ", originalText).viršutinė ()
# Atspausdinkite pakeistą eilutę
spausdinti ("Pakeistas tekstas:", pakeistas tekstas)
Išvestis:
Išvestis rodoma dešinėje vaizdo pusėje. Čia, "Sveiki, sveiki atvykę į linuxhint" yra laikoma įvestimi ir 'Sveiki' žodis pakeičiamas žodžiu " modeliui.
3 pavyzdys: ieškokite ir pakeiskite eilutę pabaigoje
Sukurkite „python“ failą naudodami šį scenarijų, kad žinotumėte „$ ' simbolis taisyklingos išraiškos šablone. Čia, „[a-z0-9] + $'yra naudojamas kaip scenarijaus šablonas. Jis ieškos visų mažų abėcėlių ir skaitmenų teksto gale, o jei grąža bus teisinga, atitinkama dalis bus pakeista eilute "com.bd".
#!/ usr / bin / env python3# Importuoti regex modulį
importo re
# Paimkite eilutės įvestį
originalText = input ("Įveskite URL adresą \ n")
# Pakeiskite eilutę pagal modelį
pakeistasTekstas = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Atspausdinkite pakeistą eilutę
spausdinti ("Pakeistas tekstas:", pakeistas tekstas)
Išvestis:
Išvestis rodoma dešinėje vaizdo pusėje. Čia „https: // www.google.com “laikomas įvesties tekstu, o pakeitus -„ https: // www.google.com.bd 'spausdinama kaip išvestis.
4 pavyzdys: ieškokite ir pakeiskite konkrečią eilutės dalį
Sukurkite python failą naudodami šį scenarijų, kad ieškotumėte ir pakeistumėte teksto dalį toje vietoje, kur modelis atitinka. Čia el. Pašto adresų sąrašas priskiriamas kaip tekstas į kintamąjį, pavadintą laiškus. '@ [a-z]' naudojamas šablonas ieškant. Ji ieškos bet kurios eilutės, prasidedančios mažomis abėcėlėmis, po kurių rašoma „@simbolis. Jei kuri nors eilutė sutampa, ji pakeis tą eilutę „@linuxhint".
#!/ usr / bin / env python3# Importuoti regex modulį
importo re
# Apibrėžkite eilutę
el. laiškai = '\ n [el. paštas apsaugotas] \ n [el. paštas apsaugotas] \ n [el. paštas apsaugotas]'
# Pakeiskite konkrečią eilutės dalį pagal modelį
pakeistasTekstas = re.sub („@ [a-z] *“, „@ linuxhint“, el. laiškai)
# Atspausdinkite originalią eilutę
spausdinti ("Originalus tekstas:", el. laiškai)
# Atspausdinkite pakeistą eilutę
spausdinti ("\ nPakeistas tekstas:", pakeistasTekstas)
Išvestis:
Išvestis rodoma dešinėje vaizdo pusėje. Kiekviena tekste priskirto el. Pašto adreso domeno dalis pakeičiama „linuxhint".
Išvada:
Kai kurie labai įprasti taisyklingos išraiškos šablonų naudojimo būdai parodyti šioje pamokoje, skirtoje eilutėms pakeisti. „Python“ yra daugybė kitų parinkčių, skirtų įvairių tipų paprastiems ir sudėtingiems modeliams rašyti, norint ieškoti ir pakeisti teksto eilutę.
Žiūrėkite autoriaus vaizdo įrašą: čia