Hage dhameystiran oo ku saabsan xeerarka Regex: waxa ay yihiin, sida ay u shaqeeyaan, iyo tusaalooyin wax ku ool ah

  • Xeerarka Regex waxay kuu oggolaanayaan inaad si hufan u baadho, u xaqiijiso oo aad u beddesho qoraalka.
  • Syntax-keedu waxa ay adeegsataa xarfo toosan, xarfo badan, iyo qiyaasiyaal si ay u qeexdo qaababka saxda ah.
  • Regex waxay lagama maarmaan u tahay barnaamijyada, maamulka nidaamka, SEO, iyo tafatirka xogta horumarsan.

Xeerarka Regex Tusaalaha

Tibaaxaha caadiga ah, oo loo yaqaan Regex, waxay ka dhigan yihiin mid ka mid ah ilaha ugu awoodda badan uguna badan ee adduunka horumarka, maamulka nidaamka, iyo habaynta tiro badan oo qoraal ah. Si kastaba ha noqotee, isticmaaleyaal badan iyo barnaamij-yaqaano u soo dhowaanaya markii ugu horreysay, eray-bixintiisu waxay noqon kartaa mid yaab leh ama xitaa xad dhaaf ah. Maaraynta xeerarka iyo qaababka Regex waxay u oggolaanaysaa raadinta, shaandhaynta, xaqiijinta, iyo beddelka qoraalka oo leh hufnaan iyo dabacsanaan aan la barbar dhigi karin.

Weligaa ma la yaabtay sida aad u heli karto qaabab adag dukumeentiyada gudahooda, foomamka ansixiya, beddelka xogta, ama u habaynta habka raadinta mashaariicdaada IT? Haddi aad tahay horumariye, sysadmin, ama isticmaale xiise badan, maqaalkan adigaa leh. U diyaar garow dhammaystiran, wax ku ool ah, oo ka sarreeya, hage cad oo ku saabsan xeerarka Regex iyo ku dhaqankooda dhammaan noocyada macnaha guud.

Waa maxay xeerarka Regex ama tibaaxaha caadiga ah?

Tibaaxaha joogtada ah (Regex, ee soo gaabinta Ingiriisiga ee Muujinta Joogtada ah) waa taxane ama qaabab jilayaal awood u leh inay qeexaan xeerar lagu helo, lagu saxo ama lagu maareeyo qoraallada ku jira qoraallada kale. Bal qiyaas inaad raadinayso weedho gaar ah, qaabab gaar ah (sida iimaylo, taariikho, lambaro telefoon), magacyo buuxiya shuruudaha qaarkood, ama aad rabto inaad qaybo ka mid ah qoraalka ku beddesho jumlad: dhammaan xaaladahan, Regex waa qalabka ugu fiican.

Fikradda aasaasiga ah waa Sifee, oo wata calaamado taxane ah, xarfo iyo hawl-wadeenno gaar ah, qaabka qoraalka aanu doonayno inaanu helno, ansixiyo ama wax ka beddelno waa inuu buuxiyaa.Tusaale ahaan, haddii aad rabto inaad ku hesho dhammaan tirooyinka jumlada, waxaad qeexi kartaa qaab fudud oo sheegaya "dabeecad kasta oo tiro ah" (sida \d). Haddii aad rabto wax aad u horumarsan, waxaad dhisi kartaa xeerar u adag sida: "dhammaan xargaha ka bilaabma 'Koobi' oo ku dhammaata tiro."

Regex Syntax

Taariikhda iyo horumarka Regex

Tibaaxaha caadiga ah waxay dhasheen bartamihii qarnigii 20-aad, ee goobta macquulka rasmiga ah iyo aragtida automata. Adeeggeedii ugu horreeyay ee la taaban karo wuxuu ahaa nidaamyada UNIX-ku-saleysan, oo leh agabka sida ed, dufan, sed y awk. Ka dib, heerka POSIX balaadhisay hab-raaceeda oo ay ku dartay deegaanno badan. Ka dib, luqadda Perl Regex waxa uu u qaaday heer cusub, isaga oo ku daray astaamo cusub oo ku caanbaxay bulshada horumariya.

Waqtigan xaadirka ah, Regex waxay ku dhisan tahay inta badan luuqadaha barnaamijyada (JavaScript, Python, Java, C #, PHP, Ruby, iwm.), iyo sidoo kale tifaftirayaasha sare ee qoraalka, nidaamyada hawlgalka, qaab-dhismeedka shabakadda, iyo adeegyo badan oo talis-ka-bixin ah. Tani waxay ka dhigaysaa xeerarka Regex luqad caalami ah oo dhab ah oo loogu talagalay habaynta qoraalka xaalad kasta oo kombuyuutar ah.

Waa maxay xeerarka Regex?

ka Xeerarka Regex Looma isticmaalo oo kaliya raadinta, sidoo kale waxay ansaxiyaan, soosaaraan, beddelaan waxayna kuu oggolaanayaan inaad shaandhayso ama wax ka beddesho tiro badan oo xog ah arrin ilbiriqsiyo ah.

  • Helitaanka qaababka qoraallada waaweyn: Soo hel iimaylo, URL-yo, magacyo, lambaro, taariikho, iyo in ka badan-xataa faylal waaweyn ama xog-ururin-la'aanteed dadaal gacanta ah.
  • Xaqiiji gelinta isticmaalaha: Wuxuu hubiyaa in erayga sirta ah buuxiyo shuruudaha, lambarka taleefanka, ama ciwaanka iimaylka uu sax yahay ka hor inta aan la kaydin.
  • Wax ka beddel oo beddel qoraalka: Beddel qaybo gaar ah oo qoraal ah, laga bilaabo ka saarista HTML tags ilaa caadi ka dhigista qaababka xogta.
  • Hababka otomaatiga ah: Shaandhayso diiwaannada, beddel liisaska, falanqeeyaan galalka log, ama dib u magacaw faylasha guud ahaan si waafaqsan xeerar aad u sax ah.

Aasaaska Regex: Fikradaha Asaasiga ah

Xeerarka Regex waxay ka kooban yihiin isku-darka jilayaasha saxda ah iyo jilayaasha meta. Fahamka walxahan ayaa ah aasaaska dhisidda qaabab waxtar leh.

1. Jilayaasha suugaanta

Dabeecadda saxda ah waxay u taagan tahay dhab ahaan jilaha aad rabto inaad raadiso. Tusaale ahaan, odhaahda guriga waxay u heli doontaa sida saxda ah ee isku xigta, siday u kala horreeyaan, gudaha qoraalka bartilmaameedka.

2. Metacharacters: awoodda Regex

Metacharacters waa calaamado gaar ah oo kordhiya macnaha tibaaxaha caadiga ah, iyaga oo siinaya karti iyo awood. Kuwa ugu caansan waxaa ka mid ah:

  • . Dhibicdu waxay ka dhigan tahay xarfo kasta marka laga reebo jebinta laynka.
  • [] Gawaarida waxay qeexaan fasallada ama jilayaasha la oggol yahay.
  • ^ Dawaafku waxa uu calaamadin karaa mid ka mid ah bilowga xariiqda/ereyga, ama, haddii ay ku xidhan tahay biraha, diidmada set.
  • $ Astaanta dollarku waxay tusinaysaa dhamaadka xariiqda ama qoraalka.
  • * Xiddiggu wuxuu kuu ogolaanayaa inaad raadiso "eber ama in ka badan oo ku celis ah" cunsur hore.
  • + Calaamadda lagu daray waxay raadisaa "hal ama in ka badan oo ku celcelin ah."
  • ? Waxay tuseysaa in curiyaha hore uu yahay ikhtiyaari (eber ama hal mar).
  • () Waalidku waxay kooxeeyaan qaybo ka mid ah tibaaxaha si ay u adeegsadaan qiyaasaha, u soo saaraan kooxo-hoosaadyo, ama u qeexaan beddelaadyo.
  • | Barta toosan waxay ka dhigan tahay beddel macquul ah "ama".
  • \ Dib-u-dhacku wuxuu ka baxsadaa macnaha gaarka ah ee jilaha soo socda ama wuxuu soo bandhigaa taxane la soo gaabiyey (sida \d, \w, \s).

3. Quantifiers: xakamaynta ku celcelinta

Tirooyinka ayaa kuu oggolaanaya inaad qeexdo inta jeer ee dabeecadda, fasalka ama kooxdu ay tahay in lagu celiyo:

  • *: eber ama ku celcelin badan.
  • +: Hal ama dhowr jeer.
  • ?: Mar iyo mayaba (ikhtiyaar).
  • {n}: Dhab ahaantii n ku celcelinta.
  • {n,}ugu yaraan n jeer (ma badnaan).
  • {n,m}Inta u dhaxaysa n y m ku celcelinta.

4. Fasalada jilayaasha iyo soo gaabinta

Fasallada jilayaasha ayaa noo oggolaanaya inaan sii koobno ​​waxa aan dooneyno inaan raadinno:

  • [az]: xaraf kasta oo yar.
  • [AZ]: xaraf weyn.
  • [0-9]: nambar kasta.
  • [abc]: xarafka a, b ama c.
  • [^xyz]: dabeecad kasta ka reeban x, iyo z.
  • \d: jajab tobanle (oo u dhiganta [0-9]).
  • \D: dabeecad kasta oo maya noqo digit.
  • \w: xaraf ereyga (xaraf, lambar, ama hoosta; u dhiganta [a-zA-Z0-9_]).
  • \W: dabeecad kasta oo aan erey ahayn.
  • \s: meel cad (meel, tab, xariiq nasasho).
  • \S: dabeecad kasta oo aan meel bannaan ahayn.

5. Barroosin: Dhigista qaabka qoraalka dhexdiisa

Barroosinadu waxay kuu oggolaanayaan inaad dhigato jaantusyada bilowga ama dhamaadka xariiqda, ama bilowga/dhamaadka erayada.

  • ^: bilowga xariiqa ama qoraalka.
  • $: dhamaadka xariiqda ama qoraalka.
  • \b: xuduud erayga (bilow ama dhammaad).
  • \B: barta xudduudaha aan ereyga ahayn (gudaha).

Tusaalooyinka wax ku oolka ah ee xeerarka Regex

Aynu hadda eegno sida xeerarkani u khuseeyaan xaaladaha nolosha dhabta ah, labadaba fudud iyo kuwa horumarsanba, si aad si dhakhso ah ugu dhaqangeliso waxaad baratay.

  • Xaqiiji iimaylada: ^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$
  • Hel lambarrada DNI: \b\d{8}[-]?[trwagmyfpdxbnjzsqvhlcke]?\b
  • Soo ogow ciwaannada IP v4: ^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)(?:\.(?!$)|$)){4}$
  • Ka saar URL-yada calaamadaha HTML:
  • Ka hel khadadka faallooyinka ee Java: //[^\r\n]*[\r\n]

Macquul sare iyo habaynta qaabka

Regex waxay kuu ogolaanaysaa inaad dhisto qaabab adag adoo isku daraya kooxaha, beddelka, tixraacyada, iyo qiyaasaha horumarsan, taasoo kuu ogolaanaysa inaad shaandhayso, ansixiso, ama hesho macluumaad aad u gaar ah.

Kooxaha iyo ururada

Marka aynu ku xidhno qayb ka mid ah qaabka qawlka, waxaanu abuurnaa koox. Tani waxay noo ogolaanaysaa inaan ku dabaqno qiyaasaha kooxaha oo dhan, soo saarno macluumaadka, ama hab-hoosaadyada tixraaca.

Tusaale ahaan, odhaahda ((ma)+b) waxay u dhigmi doontaa "mab" ama "mab", laakiin maaha "maab". Kooxaha waa la tixraaci karaa hadhow iyadoo la isticmaalayo \1, \2iwm, oo ku habboon in la helo qaabab isku mid ah oo soo noqnoqda.

Beddelka (|): macquul ah "ama" gudaha Regex

Barta toosan | Waxay kuu ogolaanaysaa inaad qeexdo beddelka: mid kasta oo ka mid ah qaababka ay calaamaddani u qaybisay waxay noqon doontaa ansax. Tusaale ahaan, (wiil|gabadh) ayaa ku habboon labada kelmadood.

Ka baxso xarfaha badan oo leh \

Dib-u-dhac \ Waa muhiim in la dhexdhexaadiyo macnaha gaarka ah ee jilitaanka meta ama in la soo saaro taxane la soo gaabiyey. Tusaale ahaan, "\." wuxuu raadiyaa muddo dhab ah, "\?" calaamad su'aal, "\" ee dhabar-jabka laftiisa, iwm.

Quantifiers hunguri iyo caajisnimo

Sida caadiga ah, qiyaasaha Regex waa hunguri weyn: waxay qaataan qoraalka ugu badan ee suurtogalka ah. Ku darida ? Waxaa loo beddelaa "caajis", kaas oo qabta inta ugu yar ee lagama maarmaanka ah.

Tusaale ahaan: eey waxay heli doontaa xadhigga ugu dheer ee u dhexeeya "perr" iyo "o", halka eey qabsan doona ugu yaraan.

Sheegasho iyo eegin

Horay u eeg iyo sheegashooyinka gadaal ka eeg waxay kuu oggolaanayaan inaad xaqiijiso shuruudaha "kahor" ama "ka dib" ciyaarta adigoon isticmaalin xarfaha qoraalka.

  • Aragti wanaagsan: (?=qaab) Hubi in "qaabka" la helay ka dib booska hadda.
  • indho xun: (?!qaab) Hubi in "qaabka" aanu hoos ku jirin.
  • Dabeecad togan/xun: (?<=qaab) y (? Waxay sameeyaan wax la mid ah "dib u dhac."

Codsiyada la taaban karo ee Regex ee adduunka dhabta ah

Regex waxaa loo isticmaalaa meelo badan oo kala duwan iyo hawl maalmeedka:

  • Xaqiijinta foomka: iimaylo, lambaro telefoon, magacyo, furaha sirta ah ee xooggan.
  • Habaynta Log-ga iyo hab-baadhista: Raadinta qaababka ku jira faylasha log, soo saarista khaladaadka iyo digniinaha.
  • SEO iyo maamulka URLURL oo dib wax ugu qoraya .htaccess, filtarrada cabbirka, qaybta raadinta.
  • Tafatirka qoraalka badanNadiifi calaamadaha HTML, ka saar meelaha bannaan, caadi ka dhig xogta ku jirta xaashiyaha, la qabso koodka dhaxalka ah.
  • Horumarinta iyo automation-ka shabakadda: tijaabinta iswada, habaynta xeerka server, horumarinta xoqitaanka.

Noocyada iyo matoorada Regex ee kala duwan

Dhammaan hirgelinta Regex ma taageeraan awood isku mid ah; waxaa jira "dhadhan" kala duwan iyadoo ku xiran luqadda, qalabka, ama mishiinka la isticmaalo.

  • POSIX: Ereyga aasaasiga ah ee ku salaysan UNIX. Ka baaxad weyn Perl ama PCRE.
  • Perl/PCRE: Aad u dhammaystiran, waxay taageeraan goob-eegayaasha, tixraacyada horumarsan, wax-ka-beddelayaasha iyo kuwa hoose.
  • javascript: Si weyn looga isticmaalo shabakadda, oo la jaanqaadi karta hawl-wadeennada intooda badan, laakiin waxaa jira xaddidaadyo xagga dambe ah (marka laga reebo noocyada casriga ah).
  • NET iyo luqado kale: Caadi ahaan way ku habboon yihiin PCRE, laakiin had iyo jeer waxaa habboon in lagala tashado dokumentiga luqadda u gaar ah.

Sidaa darteed, mar kasta oo aad u shaqaynayso xaalad gaar ah, hubi waxa taageerada iyo syntax Regex ay aqbasho qalabkaas ama luqaddaas.

Sida loo tijaabiyo oo loo dhiso qaababkaaga Regex

Habka ugu fiican ee lagu baran karo Regex waa in lagu tababaro tusaalooyin oo aad isticmaasho qalabka tijaabada tooska ah ee laga heli karo shabakada.

  • regex101.com: Waxay kuu ogolaanaysaa inaad qorto qaabab, hubi natiijooyinka, fiiri sharraxaadda iyo tirakoobka waxqabadka.
  • regexr.com: : ikhtiyaarrada caawinta tallaabo-tallaabo ee weyn, sawir-gacmeedyo muuqaal ah, iyo tusaalooyin is-dhexgal ah.
  • Sharaxayaasha muuqaalka ah iyo soosaarayaasha koodka: ku habboon in la fahmo qaababka kakan iyo ka soo saarida tibaaxaha xagashada.
  • Ciyaaraha khadka tooska ah iyo dhaqamadaBaro adigoo ciyaaraya oo xalliya caqabadaha dhabta ah si aad u dhexgeliso sida Regex u shaqeyso.

Khaladaadka caadiga ah iyo talooyin wax ku ool ah si aad u maamusho Regex

Regex waa awood badan, laakiin sidoo kale waxay noqon kartaa jahawareer. Talooyinkan ayaa kaa caawin doona inaad iska ilaaliso khadadka caadiga ah:

  • Ka baxso jilayaasha badan marka aad raadiso qiimaheeda dhabta ah. Tusaale ahaan, isticmaal \. dulucda, \* ee xiddigta, \? su'aalo weydiin.
  • Ha si xad dhaaf ah u isticmaalin muddada (.) iyo calaamadda duurjoogta ah .*. Aad bay faa'iido u leeyihiin, laakiin waxay soo celin karaan natiijooyin aan loo baahnayn haddii aadan si fiican u qeexin qaabkaaga.
  • Ku dar barroosinno (^, $) marka aad rabto in aad ku xaddido qaabka bilowga ama dhammaadka xariiqda iskana ilaali tartamo qayb ah.
  • Isticmaal qiyaaso gaar ah Markaad raadinayso ku celcelinta saxda ah, halkii aad ku tiirsanaan lahayd oo keliya * ama +.
  • Had iyo jeer isku day tusaalooyin togan iyo kuwo taban. Sidan ayaad ku ogaan kartaa in qaabku daboolayo dhammaan kiisaska lagama maarmaanka ah adiga oo aan soo saarin natiijooyin been abuur ah.
  • Qaybi oo qabso: Haddii aad leedahay qaab aad u adag, u dhis qaybo oo isku dar jajabyada dhammaadka.
  • Dareen xor u ah inaad hubiso xaashida qishka, dukumentiyada iyo golayaasha. si aad u aragto tusaalooyin iyo khiyaamo maalinle ah.

Isku dhafka Regex ee luuqadaha barnaamijyada iyo qalabka

Regex waxa lagu dhex daray shaqooyinka ugu badan ee dhammaan luuqadaha waaweyn. Tusaalooyinka qaar:

  • javascript: Dariiqooyinka imtixaan (), exec() ee shayga RegExp, iyo hababka ciyaar(), raadin (), beddel (), kala () ee String.
  • Python: Module re waxay bixisaa hawlo ay ka mid yihiin raadin (), ciyaar(), findall(), sub(), IWM
  • PHP: Functions preg_kulan(), preg_bedel(), preg_split() iyo kuwa kale
  • NET: Bayaan regex oo leh habab horumarsan iyo taageerada PCRE.

In tafatirayaasha sida VSCode, Sublime, Atom ama Notepad++, waxa kale oo aad isticmaali kartaa Regex si aad u baadho oo aad u bedesho. Iyo nidaamyada UNIX, yutiilitida sida dufan, sed y awk ku daraan matoorka Regex iyaga u gaar ah.

Regex ee SEO iyo maamulka URL

Regex waa qayb muhiim ah oo loogu talagalay hagaajinta URL, marin-u-socodka shabakadda, iyo maaraynta cabbirka firfircoon ee aaladaha sida WordPress, Joomla, iyo e-ganacsiga.

  • .htaccess oo mod_rewrite: Waxay kuu oggolaanayaan inaad u beddesho URL-yada foosha xun, cabbirka ka buuxa cinwaanno saaxiibtinimo leh oo leh xeerarka Regex. Sidan, www.ejemplo.com/index.php?p=123 loo beddeli karaa www.ejemplo.com/articulo/titulo-amigable, taas oo wanaajisa SEO iyo khibrada isticmaalaha labadaba.
  • Shaandhaynta cabbirka: Soo saar, nadiifi, ama beddel cabbirrada URL si loo waafajiyo natiijooyinka goob raadin kala duwan.

Isticmaalka xeerarka Regex, maamulayaasha shabakadaha waxay abuuri karaan qaabab dib u qori kara oo aqoonsada oo wax ka beddela qaybaha URL si loo hagaajiyo qaab-dhismeedka, hagaajinta, iyo fahamka matoorada raadinta iyo isticmaalayaasha.

Tibaaxaha Joogtada ah ee Sarreysa: Farsamooyinka iyo Kheyraadka

Regex kaliya ma ogola in si toos ah loo baadho; waxa ay taageertaa kooxaysi shuruudaysan, subroutines, soo noqnoqoshada, tixraacyada gadaal, iyo wax ka badan. Tani waxay ka dhigaysaa qalab lagama maarmaan u ah hawlaha adag.

  • Tilmaamaha hoose iyo tixraacyada dambe: Waxay kuu oggolaanayaan inaad heshid qaabab soo noqnoqda, summooyin, taxane iyo ansaxin gaar ah.
  • Shuruudaha: Samee baaritaanno kala duwan ama xaqiijin ku saleysan waxa lagu qabtay kooxihii hore.
  • Soo noqnoqoshada: Qaar ka mid ah matoorada horumarsan ayaa kuu oggolaanaya inaad qeexdo qaababka khuseeya naftooda, taas oo aad waxtar u leh marka la farsameynayo xogta habaysan sida XML ama JSON.
  • Wax ka beddelayaasha caalamiga ah: (/ g, /i, /m ee Perl/JavaScript) waxay oggolaadaan baaritaan caalami ah, kiis aan dareen lahayn, ama khad badan.

Ilaha lagama maarmaanka u ah barashada Regex

Haddii aad rabto inaad balaadhiso aqoontaada, agabkan ayaa waxtar yeelan doona:

  • Wikipedia: Sharaxaadyo aragti iyo farsamo oo faahfaahsan.
  • Joogtada ah-Expressions.info: Tixraaca iyo casharrada heerarka oo dhan.
  • Xaashiyaha khiyaamada: Soo koobid degdeg ah oo ku saabsan dhammaan hawl-wadeennada, kooxaha, iyo xeerarka ugu caansan.
  • Casharro is dhexgal ah: Tababar toos ah oo leh jimicsiyo iyo jawaab celin degdeg ah.
  • Bulshooyinka iyo golayaasha: Wax ka baro isticmaalayaasha kale, waydii su'aalo, oo wadaag talooyinkaaga gaarka ah.

Barashada Regex waxay ku siinaysaa faa'iido weyn xagga maamulka qoraalka iyo habaynta, taasoo u oggolaanaysa baaritaanno wax ku ool ah, xaqiijinta, isbeddellada, iyo iswada. Joogteynta iyo ku celcelinta, qorista qaababka regex waxay noqotaa mid sahlan oo dabiici ah. Ka faa'iidayso aaladaha khadka tooska ah iyo jimicsiyo wax ku ool ah, ku bilow tusaalooyin fudud, una gudub qaabab aad u adag. Markaad barato mabaadi'da, Regex waxay noqon doontaa wax dheeraad ah oo dabiici ah horumarkaaga iyo nidaamka maamulka arsenal, fududaynta hawlaha laga yaabo inay hore ugu ekaayeen kuwo adag ama caajis ah.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Actualidad Blog
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.