Metakarakterek listája:
Mielőtt felhasználná a mintát a karakterlánc helyettesítésére, ismernie kell a szabályos kifejezésminta megírásának módját. Bármely karakterláncot használhat mintaként a pontos egyezéshez. De a konkrét kereséshez meg kell írnia a reguláris kifejezés mintáját metakarakter használatával. Az alábbiakban a minták írásához leggyakrabban használt metakarakterek listáját adjuk meg.
karakter | Leírás |
. | Bármelyik karakter egyeztetésére szolgál, kivéve az új sort. |
^ | Bármely karakterhez vagy karaktersorozathoz illeszthető az elején húr. |
$ | Bármely karakter vagy karakterlánc illesztésére szolgál a karakterlánc végén. |
+ | A minta egy vagy több előfordulásának egyeztetésére szolgál. |
? | A minta nulla vagy egy előfordulásának megfeleltetésére szolgál. |
() | A minták csoportosítására szolgál. |
Alsó vagy felső, vagy mind az alsó, mind a felső alapján egyeztetésre szolgál korlátokat. | |
[] | A karakterek egyeztetésére szolgál az adott tartomány alapján. |
| | VAGY logikán alapuló minták egyeztetésére szolgál. |
\ | Meghatározott karakterek vagy nem karakterek, vagy számjegyek vagy nem számjegyű. |
Módszer cseréje:
alatti() a metódusa 'újra' modult a Python használja a karakterlánc cseréjére.
Szintaxis:
al (minta, csere, karakterlánc, szám = 0, zászlók = 0)Itt minta, cserélje ki és húr kötelező érvek. Ha a minta bármelyik részéhez illeszkedik húr akkor az alkatrészt az értékével helyettesíti helyett érv. A másik két érv nem kötelező. A fent említett metakarakterek használatát a sub () módszerrel a következő karaktersorozati példák mutatják be.
1. példa: A karakterlánc cseréje pontos egyezéssel
Ha ismeri a pontos karakterlánc értékét, amelyet a fő karakterláncban keresni szeretne, akkor a kereső karakterláncot mintaként használhatja alatti() módszer. Hozzon létre egy python fájlt a következő szkript segítségével. Itt a kereső karakterlánc értéke "esős", a helyettesítő karakterlánc értéke "napos".
#!/ usr / bin / env python3# Regex modul importálása
import re
# Definiáljon egy karakterláncot
orgStr = "Esős nap van"
# Cserélje ki a karakterláncot
repStr = re.sub ("esős", "napos", orgStr)
# Nyomtassa ki az eredeti karakterláncot
nyomtatás ("Eredeti szöveg:", orgStr)
# Nyomtassa ki a kicserélt karakterláncot
nyomtatás ("Cserélt szöveg:", repStr)
Kimenet:
A kimenet a kép jobb oldalán látható.
2. példa: A karakterlánc keresése és cseréje az elején
Hozzon létre egy python fájlt a következő szkript használatával, hogy ismerje a használatát '^' a reguláris kifejezés mintázatában. Itt, '^ [A-Za-z] + ' keresési mintaként használatos. Meg fogja keresni az összes ábécés karaktert A nak nek Z és a nak nek z a szöveg elején, és cserélje ki egy üres értékre. A kicserélt karakterlánc nagybetűvel lesz nyomtatva felső() módszer.
#!/ usr / bin / env python3# Regex modul importálása
import re
# Vegyünk egy karakterláncot
originalText = input ("Írjon be egy szöveget \ n")
# Cserélje ki a karakterláncot a minta alapján
helyettesítettText = re.sub ('^ [A-Za-z] +', ", originalText).felső()
# Nyomtassa ki a kicserélt karakterláncot
print ("Cserélt szöveg:", helyettesített szöveg)
Kimenet:
A kimenet a kép jobb oldalán látható. Itt, "Helló, üdvözlöm a linuxhint-ben" bemenetnek tekintjük 'Helló' szó helyébe a " a mintához.
3. példa: A karakterlánc keresése és cseréje a végén
Hozzon létre egy python fájlt a következő szkript használatával, hogy ismerje a '$ ' szimbólum a reguláris kifejezés mintájára. Itt, '[a-z0-9] + $'a mintaként használatos a szkriptben. Megkeresi az összes kis ábécét és számjegyet a szöveg végén, és ha igaz értéket ad vissza, akkor a megfelelő részt a karakterlánc helyettesíti. 'com.bd".
#!/ usr / bin / env python3# Regex modul importálása
import re
# Vegyünk egy karakterláncot
originalText = input ("Adjon meg egy URL címet \ n")
# Cserélje ki a karakterláncot a minta alapján
helyettesítettText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Nyomtassa ki a kicserélt karakterláncot
print ("Cserélt szöveg:", helyettesített szöveg)
Kimenet:
A kimenet a kép jobb oldalán látható. Itt: 'https: // www.Google.com 'szöveget beviteli szövegnek, a helyettesítés után pedig' https: // www.Google.com.A bd 'kimenetként van nyomtatva.
4. példa: Keresse meg és cserélje le a karakterlánc adott részét
Hozzon létre egy python fájlt a következő szkript segítségével a szöveg azon részének kereséséhez és helyettesítéséhez, ahol a minta egyezik. Itt az e-mail címek listája szövegként van hozzárendelve a nevezett változóhoz e-maileket. A '@ [a-z]' mintát használjuk a kereséshez. Megkeresi az összes al-karakterláncot, amelyek kis betűkkel kezdődnek@' szimbólum. Ha valamelyik al-karakterlánc egyezik, akkor az helyettesíti a@linuxhint".
#!/ usr / bin / env python3# Regex modul importálása
import re
# Definiáljon egy karakterláncot
emails = '\ n [email protected] \ n [email protected] \ n [email protected]'
# Cserélje ki a karakterlánc adott részét a minta alapján
helyettesítettText = re.sub ('@ [a-z] *', '@linuxhint', e-mailek)
# Nyomtassa ki az eredeti karakterláncot
nyomtatás ("Eredeti szöveg:", e-mailek)
# Nyomtassa ki a kicserélt karakterláncot
print ("\ nCserélt szöveg:", helyettesített szöveg)
Kimenet:
A kimenet a kép jobb oldalán látható. Itt a szövegben megadott e-mail cím minden tartományi része helyébe "linuxhint".
Következtetés:
A szabályos kifejezésminták néhány nagyon gyakori használatát mutatja be ez az oktatóanyag a karakterláncok cseréjéhez. Sok más lehetőség létezik a pythonban különböző típusú egyszerű és bonyolult minták írására a szöveg karaktersorozatának keresésére és cseréjére.
Nézd meg a szerző videóját: itt