Mirë se vini në këtë udhëzues të plotë për shprehjet e rregullta në JavaScript! Në këtë artikull, ne do të shqyrtojmë në detaje se çfarë janë shprehjet e rregullta, si përdoren ato në JavaScript dhe si mund t'ju ndihmojnë të thjeshtoni dhe optimizoni kodin tuaj. Nga bazat deri te shembujt praktikë, ne do të mbulojmë gjithçka që ju duhet të dini për të filluar të shfrytëzoni sa më shumë shprehjet e rregullta në projektet tuaja JavaScript. Pra, le të fillojmë!
Hyrje në shprehjet e rregullta
Shprehjet e rregullta janë modele kërkimi që përdoren për të gjetur dhe manipuluar tekstin në vargjet e karaktereve. Ato përbëhen nga një kombinim i karaktereve të mirëfillta dhe metakaraktereve, të cilët përcaktojnë rregulla specifike për gjetjen e përputhjeve në tekst. Këto rregulla mund të përfshijnë kërkimin për karaktere specifike, varg karakteresh, përsëritje, alternativa dhe shumë më tepër.
Në JavaScript, shprehjet e rregullta krijohen duke përdorur klasën RegExp ose duke përdorur fjalë për fjalë /patrón/. Modeli është vetë shprehja e rregullt, e cila është e mbyllur midis prerjeve përpara. Le të shohim një shembull të thjeshtë:
const regex = /hola/;
Në këtë shembull, ne kemi krijuar një shprehje të rregullt që do të kërkojë vargun "hello" brenda një teksti. Tani që kemi një kuptim themelor se çfarë janë shprehjet e rregullta, le të shqyrtojmë disa koncepte kryesore dhe teknika të avancuara për të punuar me to në JavaScript.
Sintaksa bazë e shprehjeve të rregullta
Shprehjet e rregullta në JavaScript përbëhen nga disa elementë kyç që na lejojnë të përcaktojmë modele kërkimi më komplekse. Këta elementë përfshijnë karaktere të mirëfillta, metakaraktere, klasa karakteresh, kuantifikues, ankorë dhe më shumë. Le të shohim disa shembuj të këtyre elementeve:
Personazhe fjalë për fjalë
Karaktere fjalë për fjalë janë ato që kërkohen siç shfaqen në tekst. Për shembull, shprehja e rregullt /hola/ do të kërkojë për sekuencën e karaktereve "hello" në një varg teksti. Është e rëndësishme të theksohet se shprehjet e rregullta janë të ndjeshme ndaj shkronjave, kështu që /hola/ nuk do të përputhet me "Hello" ose "HELLO".
Metakarakteret
Metakarakteret janë karaktere të veçanta që kanë kuptim të veçantë në shprehjet e rregullta. Për shembull, metakarakteri . Përdoret për të përfaqësuar çdo karakter përveç një rreshti të ri. Një tjetër metakarakter i zakonshëm është ^, i cili përdoret për të treguar fillimin e një vargu teksti. Për shembull, shprehja e rregullt /^hola/ do të përputhet me çdo varg teksti që fillon me "përshëndetje".
Klasat e personazheve
Klasat e karaktereve përdoren për të kërkuar çdo karakter brenda një grupi specifik. Për shembull, shprehja e rregullt /[aeiou]/ do të përputhet me çdo zanore në një varg teksti. Është gjithashtu e mundur të përdoren vargjet e karaktereve në klasat e karaktereve. Për shembull, shprehja e rregullt /[a-z]/ do të përputhet me çdo shkronjë të vogël.
Kuantifikuesit
Kuantifikuesit përdoren për të specifikuar numrin e shfaqjeve të një elementi në një shprehje të rregullt. Për shembull, kuantifikuesi * tregon se elementi i mëparshëm mund të shfaqet zero ose më shumë herë. Kuantifikuesi + tregon se elementi i mëparshëm duhet të shfaqet një ose më shumë herë. Për shembull, shprehja e rregullt /a+/ do të përputhet me një ose më shumë "a" në një varg teksti.
Ankorat
Ankorat përdoren për të treguar pozicionin e një ndeshjeje brenda një vargu teksti. Për shembull, spiranca \b përputhet me një kufi fjalësh. Për shembull, shprehja e rregullt /bholab/ do të përputhet vetëm me fjalën "përshëndetje" si a fjalë e plotë, pa përputhur fjalët më të gjata që përmbajnë "përshëndetje" si pjesë e tyre.
Këto janë vetëm disa shembuj të sintaksës bazë të shprehjeve të rregullta në JavaScript. Ndërsa përparojmë në këtë artikull , do të shqyrtojmë koncepte dhe teknika më të avancuara për të punuar me shprehje të rregullta në JavaScript.
Kërkimi bazë i ndeshjeve
Një nga operacionet më të zakonshme të kryera me shprehje të rregullta është kërkimi i përputhjeve në një varg teksti. Në JavaScript, ne mund të përdorim metodën search() për të gjetur përputhjen e parë të një shprehjeje të rregullt në një varg teksti. Le të shohim një shembull:
const texto = "¡Hola, mundo!"; const regex = /mundo/; const indice = texto.search(regex); console.log(indice); // 7
Në këtë shembull, ne kemi përdorur metodën search() për të gjetur përputhjen e parë të shprehjes së rregullt /mundo/ në vargun e tekstit "Përshëndetje, botë!" Metoda search() kthen indeksin e ndeshjes së parë të gjetur, ose -1 nëse nuk gjendet asnjë përputhje.
Përveç metodës search(), JavaScript ofron edhe metoda të tjera të dobishme për të punuar me shprehje të rregullta, si p.sh match(), replace(), split() y test(). Secila prej këtyre metodave ka qëllimin e vet dhe mund të përdoret sipas nevojave tuaja specifike.
Përdorimi i modifikuesve dhe flamujve
Në JavaScript, shprehjet e rregullta mund të përmbajnë modifikues dhe flamuj që lejojnë kërkime më fleksibël dhe të personalizuar. Modifikuesit shtohen në fund të një shprehjeje të rregullt dhe modifikojnë sjelljen e saj. Disa nga modifikuesit më të zakonshëm janë:
i (i pandjeshëm)
Modifikuesi i përdoret për të kryer një kërkim të pandjeshëm ndaj rasteve. Për shembull, shprehja e rregullt /hola/i do të përputhet me "përshëndetje" dhe "Përshëndetje" ose "HELLO".
g (globale)
Modifikuesi g Përdoret për të kryer një kërkim global në të gjithë vargun e tekstit, në vend që të ndalet në përputhjen e parë të gjetur. Për shembull, shprehja e rregullt /a+/g do të përputhet me të gjitha dukuritë e një ose më shumë "a" në një varg teksti.
m (shumë vija)
Modifikuesi m Përdoret për të kryer një kërkim në rreshta të shumtë brenda një vargu teksti. Për shembull, shprehja e rregullt /^hola/m do të përputhet me fjalën "përshëndetje" në fillim të çdo rreshti në një varg teksti.
Përveç modifikuesve, JavaScript gjithashtu lejon përdorimin e flamujve në shprehje të rregullta. Flamujt shtohen pas vijës së dytë të pjerrët kur krijohet një shprehje e rregullt duke përdorur klasën RegExp. Disa nga flamujt më të zakonshëm janë:
i (i pandjeshëm)
Ashtu si modifikuesi i, flamuri i kryen një kërkim të pandjeshëm ndaj rasteve. Për shembull, shprehja e rregullt new RegExp("hola", "i") do të përputhet me "përshëndetje" dhe "Përshëndetje" ose "HELLO".
g (globale)
Ashtu si modifikuesi g, flamuri g kryen një kërkim global në të gjithë vargun e tekstit. Për shembull, shprehja e rregullt new RegExp("a+", "g") do të përputhet me të gjitha dukuritë e një ose më shumë "a" në një varg teksti.
m (shumë vija)
Ashtu si modifikuesi m, flamuri m kryen një kërkim në rreshta të shumtë brenda një vargu teksti. Për shembull, shprehja e rregullt new RegExp("^hola", "m") do të përputhet me fjalën "përshëndetje" në fillim të çdo rreshti në një varg teksti.
Përdorimi i modifikuesve dhe flamujve në shprehjet e rregullta të JavaScript mund të jetë shumë i dobishëm për përshtatjen e kërkimeve sipas rasteve të ndryshme dhe kërkesave specifike. Eksperimentoni me to dhe zbuloni se si mund t'i shfrytëzoni sa më shumë këto veçori në kodin tuaj.
Metakaraktere dhe personazhe speciale
Metakarakteret dhe karakteret speciale janë elementë kyç në shprehjet e rregullta që na lejojnë të kryejmë kërkime më të fuqishme dhe fleksibël. Ne kemi përmendur tashmë disa metakaraktere, si p.sh . y ^, por ka shumë të tjera që mund t'i përdorni në shprehjet tuaja të rregullta. Le të shohim disa nga metakarakteret dhe personazhet e veçanta më të zakonshme:
. (pikë)
Metakarakteri . Përdoret për të përfaqësuar çdo karakter përveç një rreshti të ri. Për shembull, shprehja e rregullt /h.t/ do të përputhet me "kapelë", "hot", "godit" dhe çdo fjalë tjetër me tre shkronja që fillon me "h" dhe përfundon me "t".
\ (pjesë e prapme)
Vija e prapme përdoret për t'i shpëtuar karaktereve speciale në një shprehje të rregullt. Për shembull, nëse dëshironi të kërkoni për një periudhë të mirëfilltë në një varg teksti, duhet t'i shmangeni duke përdorur vijën e prapme. Shprehja e rregullt /www\.google\.com/ do të përputhet me vargun e tekstit "www.google.com".
\d (shifror)
Metakarakteri \d përdoret për të kërkuar çdo shifër nga 0 në 9. Për shembull, shprehja e rregullt /\d+/ do të përputhet me çdo numër një ose më shumë shifra në një varg teksti.
\w (karakter alfanumerik)
Metakarakteri \w përdoret për të kërkuar çdo karakter alfanumerik (shkronja të mëdha dhe të vogla, shifra dhe nënvizime). Për shembull, shprehja e rregullt /\w+/ do të përputhet me çdo fjalë të një ose më shumë karaktereve alfanumerike në një varg teksti.
Këto janë vetëm disa shembuj të metakaraktereve dhe karaktereve speciale që mund të përdorni në shprehjet tuaja të rregullta. Ndërsa familjarizoheni më shumë me shprehjet e rregullta në JavaScript, do të zbuloni një shumëllojshmëri të gjerë opsionesh për të përmirësuar kërkimet tuaja dhe manipulimet e tekstit.
Klasat dhe diapazoni i personazheve
Klasat e karaktereve janë një tjetër element kyç në shprehjet e rregullta që na lejojnë të kërkojmë çdo karakter brenda një grupi specifik. Në JavaScript, ne mund të përdorim kllapa [] për të përcaktuar një klasë karakteresh. Le të shohim disa shembuj të klasave dhe gamës së karaktereve:
[aeiou]
Klasa e personazheve [aeiou] do të përputhet me çdo zanore në një varg teksti. Për shembull, shprehja e rregullt /[aeiou]/ do të përputhet me "a", "e", "i", "o" ose "u" në një varg teksti.
[az]
Gama e personazheve [a-z] do të përputhet me çdo shkronjë të vogël në alfabetin anglez. Për shembull, shprehja e rregullt /[a-z]/ do të përputhet me çdo shkronjë të vogël në një varg teksti.
[0-9]
Gama e personazheve [0-9] do të përputhet me çdo shifër nga 0 në 9 në një varg teksti. Për shembull, shprehja e rregullt /[0-9]/ do të përputhet me çdo numër njëshifror.
[A-Z-z]
Klasa e personazheve [A-Za-z] do të përputhet me çdo shkronjë të madhe ose të vogël në alfabetin anglez. Për shembull, shprehja e rregullt /[A-Za-z]/ do të përputhet me çdo shkronjë në një varg teksti.
Klasat dhe vargjet e karaktereve na lejojnë të përcaktojmë grupe të veçanta karakteresh për të kërkuar në një shprehje të rregullt. Përdorni ato për të përshtatur kërkimet tuaja sipas nevojave dhe kufizimeve tuaja të veçanta.
Kuantifikues dhe përsëritje
Kuantifikuesit dhe përsëritjet janë elementë kyç në shprehjet e rregullta që na lejojnë të specifikojmë numrin e shfaqjeve të një elementi në një varg teksti. Le të shohim disa nga sasiorët më të zakonshëm në JavaScript:
* (yll)
Kuantifikuesi * tregon se elementi i mëparshëm mund të shfaqet zero ose më shumë herë. Për shembull, shprehja e rregullt /a*/ do të përputhet me zero ose më shumë 'a' në një varg teksti.
+ (me shume)
Kuantifikuesi + tregon se elementi i mëparshëm duhet të shfaqet një ose më shumë herë. Për shembull, shprehja e rregullt /a+/ do të përputhet me një ose më shumë "a" në një varg teksti.
? (pyetje)
Kuantifikuesi ? tregon se elementi i mëparshëm mund të shfaqet zero ose një herë. Për shembull, shprehja e rregullt /colou?r/ do të përputhet me "ngjyrën" dhe "ngjyrën".
{n} (saktësisht n herë)
Kuantifikuesi {n} tregon se elementi i mëparshëm duhet të shfaqet saktësisht n herë. Për shembull, shprehja e rregullt /a{3}/ do të përputhen saktësisht me tre "a" në një varg teksti.
{n,} (të paktën n herë)
Kuantifikuesi {n,} tregon se elementi i mëparshëm duhet të shfaqet të paktën n herë. Për shembull, shprehja e rregullt /a{2,}/ do të përputhen me dy ose më shumë 'a' në një varg teksti.
{n, m}
Kuantifikuesi {n,m} tregon se elementi i mëparshëm duhet të shfaqet të paktën n herë dhe maksimumi m herë. Për shembull, shprehja e rregullt /a{2,4}/ do të përputhen me dy, tre ose katër "a" në një varg teksti.
Këta janë vetëm disa shembuj të sasive që mund të përdorni në shprehjet tuaja të rregullta. Kuantifikuesit na lejojnë të specifikojmë modele të përsëritjes në kërkimet dhe manipulimet e tekstit, duke e bërë më të lehtë nxjerrjen e informacionit specifik nga vargjet e tekstit.
Ankorat dhe kufijtë e fjalëve
Ankorat dhe kufijtë e fjalëve janë elementë që na lejojnë të tregojmë pozicionin e një përputhjeje brenda një vargu teksti. Këta elementë janë veçanërisht të dobishëm kur duam të kërkojmë fjalë të tëra ose të sigurohemi që një përputhje është në fillim ose në fund të një rreshti. Le të shohim disa shembuj të ankorave dhe kufijve të fjalëve:
\b (kufi i fjalës)
Kufiri i fjalës \b përputhet me kufirin midis një karakteri alfanumerik dhe një karakteri joalfanumerik. Për shembull, shprehja e rregullt /\bjavascript\b/ do të përputhet vetëm me fjalën "javascript" si një fjalë të plotë, duke mos përputhur fjalët më të gjata që përmbajnë "javascript" si pjesë e tyre.
^ (fillimi i rreshtit)
Karakteri ^ Përdoret për të treguar fillimin e një rreshti në një varg teksti. Për shembull, shprehja e rregullt /^hola/ do të përputhet me fjalën "përshëndetje" në fillim të çdo rreshti në një varg teksti.
$ (fundi i rreshtit)
Karakteri $ Përdoret për të treguar fundin e një rreshti në një varg teksti. Për shembull, shprehja e rregullt /mundo$/ do të përputhet me fjalën "botë" në fund të çdo rreshti në një varg teksti.
\A (fillimi i tekstit)
Karakteri \A Përdoret për të treguar fillimin e të gjithë tekstit në një varg teksti, jo vetëm fillimin e një rreshti. Për shembull, shprehja e rregullt /^\AHola/ do të përputhet me fjalën "Përshëndetje" në fillim të të gjithë tekstit.
\Z (fundi i tekstit)
Karakteri \Z përdoret për të treguar fundin e të gjithë tekstit në një varg teksti, jo vetëm fundin e një rreshti. Për shembull, shprehja e rregullt /Mundo\Z/ do të përputhet me fjalën "Botë" në fund të të gjithë tekstit.
Ankorat dhe kufijtë e fjalëve na lejojnë të kërkojmë përputhje në vende specifike brenda një vargu teksti, gjë që mund të jetë e dobishme në situatat kur duam të sigurojmë që një përputhje është në një pozicion specifik.
Grupet dhe kapjet
Grupet dhe kapjet janë elementë të avancuar në shprehje të rregullta që na lejojnë të grupojmë nënshprehje dhe t'i kapim ato për përdorim të mëvonshëm. Le të shohim se si funksionojnë grupet dhe kapjet:
( ) (kllapa)
Kllapat janë Ata përdorin për të grupuar nënshprehje në një shprehje të rregullt. Për shembull, shprehja e rregullt /(d{2})-(d{2})-(d{4})/ se përdoret për të kërkuar një datë në formatin "dd-mm-vvvv. Grupet ( ) Ato na lejojnë të kapim vlerat e ditës, muajit dhe vitit veçmas.
\1, \2, \3 (referencat e grupit)
Referencat e grupit përdoren për t'iu referuar grupeve të kapur më parë në një shprehje të rregullt. Për shembull, shprehja e rregullt /(\w+) \1/ do të përputhet me çdo fjalë të ndjekur nga e njëjta fjalë e përsëritur. Për shembull, "përshëndetje përshëndetje", "botë botërore", etj.
?: (grupi që nuk kap)
Simboli ?: Përdoret për të krijuar grupe që nuk kapin. Këto grupe përdoren kur duam të grupojmë nënshprehje, por nuk duam të kapim rezultatin. Për shembull, shprehja e rregullt /https?:\/\/(?:www\.)?google\.com/ do të përputhet me "http://www.google.com" dhe "https://google.com", por do të kap vetëm pjesën përkatëse të URL-së.
Grupet dhe kapjet na lejojnë të strukturojmë dhe organizojmë shprehjet tona të rregullta në një mënyrë më efikase dhe të lexueshme. Ato gjithashtu ofrojnë mundësinë për të kapur vlera specifike për përdorim të mëvonshëm në aplikacionet tona.
Metoda të dobishme për të punuar me shprehje të rregullta
JavaScript ofron disa metoda të dobishme për të punuar me shprehje të rregullta. Këto metoda na lejojnë të kryejmë operacione të zakonshme si kërkimi, zëvendësimi dhe ndarja e vargjeve të tekstit duke përdorur shprehje të rregullta. Le të shohim disa nga këto metoda:
ndeshje ()
Metoda match() Përdoret për të gjetur të gjitha përputhjet e një shprehjeje të rregullt në një varg teksti dhe për të kthyer një grup me rezultatet. Për shembull:
const texto = "¡Hola, mundo!"; const regex = /o/g; const coincidencias = texto.match(regex); console.log(coincidencias); // ["o", "o"]
Në këtë shembull, ne kemi përdorur metodën match() për të gjetur të gjitha përputhjet e shprehjes së rregullt /o/g në vargun e tekstit "Përshëndetje, botë!" Metoda match() kthen një grup me të gjitha ndeshjet e gjetura.
zëvendësoj ()
Metoda replace() përdoret për të zëvendësuar përputhjet e një shprehjeje të rregullt në një varg teksti me një vlerë të re. Për shembull:
const texto = "¡Hola, mundo!"; const regex = /mundo/; const nuevoTexto = texto.replace(regex, "amigo"); console.log(nuevoTexto); // "¡Hola, amigo!"
Në këtë shembull, ne kemi përdorur metodën replace() për të zëvendësuar përputhjen e shprehjes së rregullt /mundo/ në vargun e tekstit "Përshëndetje, botë!" për fjalën "mik". Metoda replace() kthen një varg të ri teksti me zëvendësimet e bëra.
ndarje ()
Metoda split() përdoret për të ndarë një varg teksti në një grup nënvargjesh duke përdorur një shprehje të rregullt si ndarës. Për shembull:
const texto = "Hola,mundo,amigo"; const regex = /,/g; const subcadenas = texto.split(regex); console.log(subcadenas); // ["Hola", "mundo", "amigo"]
Në këtë shembull, ne kemi përdorur metodën split() për të ndarë vargun e tekstit "Përshëndetje, botë, mik" në një grup nënvargjesh duke përdorur shprehjen e rregullt /,/g si ndarës. Metoda split() kthen një grup me nënvargjet që rezultojnë.
provë ()
Metoda test() Përdoret për të kontrolluar nëse një shprehje e rregullt ka ndonjë përputhje në një varg teksti. Metoda kthehet true nëse ka një ndeshje dhe false ndryshe. Për shembull:
const texto = "Hola, mundo!"; const regex = /mundo/; const resultado = regex.test(texto); console.log(resultado); // true
Në këtë shembull, ne kemi përdorur metodën test() për të kontrolluar nëse shprehja e rregullt /mundo/ ka ndonjë përputhje në vargun e tekstit "Përshëndetje, botë!". Metoda test() kthej përsëri true sepse ka një rastësi.
Këto janë vetëm disa nga metodat më të zakonshme për të punuar me shprehje të rregullta në JavaScript. Secila prej këtyre metodave ka qëllimin e vet dhe mund të përdoret sipas nevojave tuaja specifike. Eksperimentoni me ta dhe zbuloni se si mund ta bëjnë punën tuaj me shprehje të rregullta më të lehtë dhe më të shpejtë.
Pyetje të shpeshta
Çfarë janë shprehjet e rregullta në JavaScript? Shprehjet e rregullta në JavaScript janë modele kërkimi të përdorura për të gjetur dhe manipuluar tekstin në vargje karakteresh.
Si të krijoni shprehje të rregullta në JavaScript? Shprehjet e rregullta në JavaScript krijohen duke përdorur klasën RegExp ose duke përdorur fjalë për fjalë /patrón/.
Cili është ndryshimi midis modifikuesve dhe flamujve në shprehjet e rregullta? Modifikuesit shtohen në fund të një shprehjeje të rregullt dhe modifikojnë sjelljen e saj. Flamujt shtohen pas vijës së dytë të pjerrët kur krijohet një shprehje e rregullt duke përdorur klasën RegExp.
Cili është ndryshimi midis metodës match() dhe metoda test()? Metoda match() Përdoret për të gjetur të gjitha përputhjet e një shprehjeje të rregullt në një varg teksti dhe kthen një grup me rezultatet. Metoda test() Përdoret për të kontrolluar nëse një shprehje e rregullt ka ndonjë përputhje në një varg teksti dhe kthen një vlerë boolean.
Si mund të kap vlera specifike duke përdorur grupe në një shprehje të rregullt? Grupet ( ) në një shprehje të rregullt ju lejon të kapni nënshprehje specifike. Më pas mund t'i referoheni këtyre grupeve duke përdorur referencat \1, \2, Etj
Çfarë metodash mund të përdor për të punuar me shprehje të rregullta në JavaScript? Disa metoda të dobishme për të punuar me shprehje të rregullta në JavaScript janë match(), replace(), split() y test(). Secila prej këtyre metodave ka qëllimin e vet dhe mund të përdoret sipas nevojave tuaja specifike.
Përfundim
Shprehjet e rregullta janë një mjet i fuqishëm për të punuar me tekst në JavaScript. Të kuptuarit e bazave , sintaksës dhe teknikave të avancuara të shprehjeve të rregullta do t'ju lejojë të kërkoni, zëvendësoni dhe manipuloni vargjet e tekstit në mënyrë efikase dhe të saktë. Nga përputhja bazë deri te përdorimi i modifikuesve, grupeve dhe metodave të tjera të dobishme, keni mësuar se si të përfitoni sa më shumë nga shprehjet e rregullta në projektet tuaja JavaScript.
Mos harroni të praktikoni dhe eksperimentoni me modele të ndryshme dhe përdorni raste për të forcuar të kuptuarit dhe familjaritetin tuaj me shprehjet e rregullta. Mos hezitoni të përdorni shprehje të rregullta për të përmirësuar efikasitetin dhe cilësinë e kodit tuaj!
Indeks
- 1 Hyrje në shprehjet e rregullta
- 2 Sintaksa bazë e shprehjeve të rregullta
- 3 Kërkimi bazë i ndeshjeve
- 4 Përdorimi i modifikuesve dhe flamujve
- 5 Metakaraktere dhe personazhe speciale
- 6 Klasat dhe diapazoni i personazheve
- 7 Kuantifikues dhe përsëritje
- 8 Ankorat dhe kufijtë e fjalëve
- 9 Grupet dhe kapjet
- 10 Metoda të dobishme për të punuar me shprehje të rregullta
- 11 Pyetje të shpeshta
- 12 Përfundim