← Wonke amathuluzi

Isihloli se-Regex

Yakha, hlola futhi lungisa amaphutha ezinkambiso zezinhlamvu ngqo kumbhalo wakho kubrawuza. Funda amakilasi ezinhlamvu, ama-quantifier, ama-anchor, amaqembu namafulege.

Regex Tester: yakha futhi uxazulule amaphethini ngokumelene nombhalo wakho

Inkambo yenani elizihlukanisayo (regular expression) wulimi oluncane lokuchaza isimo sombhalo. Esikhundleni sokubuza "ingabe leli gama liqondile likhona?", i-regex ikuvumela ukubuza "ingabe kukhona uhlamvu olubukeka kanjena?" Yilokho okwenza ibe namandla ekutholeni, ekuqinisekiseni, ekukhipheni, nasekushintsheni umbhalo emihleleni yekhodi, amafayela wombiko, izingxenye zamafomu, kanye nezinhlelo. Iphinde ibe yindlela elula ukuyenza iphutha, ngoba iphethini efundeka kahle engqondweni yakho ingase ivumele okuningi kakhulu, okuncane kakhulu, noma okungekho ngokungazelele.

Yingakho ukuhlolwa okuxhumene neqembu kudlula ukuqagela. Uma uthayipha iphethini bese ubukela imifanekiso ikhanya kumbhalo wesibonelo weqiniso, uthola impendulo yangqo: ubona okubanjiwe, okushonile, kanye nokuthi liphi iqembu lokubamba elabambe ingxenye ethile. I-Regex Tester yethu isebenza ngokuphelele ngaphakathi kwesiphequluli sakho. Iphethini yakho nombhalo wakho wesibonelo akulokothi kushiye ikhasi, ngakho ungangenisa imigqa yombiko, ama-imeyili, noma idatha yokukhiqizwa ngaphandle kokuthumela lutho eseva.

Isihlungi esiluhlaza okwesibhakabhaka esikhanyayo sibamba amathokheni egolide akhethekile emfuleni ogelezayo wedatha ngasemuva okuluhlaza okumnyama
I-regex isebenza njengesihlungi, ikhetha kuphela amathokheni ahambisana nephethini yakho.

Izakhi ezibalulekile okumele uzazi

Amaphethini amaningi ansuku zonke akhiwe ngeqoqo elincane lezingcezu. Funda lezi bese ukwazi ukufunda iningi lama-regex ohlangana nawo emhlabeni wangempela.

Amakilasi ezimpawu (character classes) achaza iqoqo lezinhlamvu ezivunyelwe. I-[aeiou] ibamba noma iyiphi unkamisa oyedwa, i-[0-9] ibamba idijithi eyodwa, futhi i-[a-zA-Z] ibamba unobumba oyedwa. Uphawu lwe-caret ngaphakathi kwamabhrikithi luphika iqoqo, ngakho i-[^0-9] lisho "noma iyiphi inhlamvu engeyona idijithi." Izifinyezo ziyalonda ukuthayipha: i-\d yidijithi, i-\w uhlamvu lwegama (unobumba, izinombolo, umugqa ongaphansi), i-\s yisikhala, kanti ichaphaza . libamba cishe noma iyiphi inhlamvu eyodwa.

Ama-quantifier asho ukuthi ingcezu edlulele ingaphindaphinda kangaki. I-* isho iqanjwa zero noma ngaphezulu, i-+ isho eyodwa noma ngaphezulu, kanti i-? isho zero noma eyodwa (okukhethekile). Kuma-manani aqondile, i-{3} isho kanye kathathu kanti i-{2,4} isho ezimbili kuya kwezine. Ngakho i-\d{4} ibamba unyaka onamadijithi amane futhi i-colou?r ibamba kokubili ukupela.

Ama-anchor abamba iphethini endaweni hhayi enhlamvini. I-^ ibamba isiqalo sombhalo, i-$ ibamba isiphetho, kanti i-\b imaka umkhawulo wegama. Iphethini i-^Error ibamba kuphela imigqa eqala ngo-"Error", okuyikho kanye okudingekayo uma uhlaziya imibhalo yombiko.

Amaqembu asonga ingxenye yephethini ngamabhrikithi, kokubili ukusebenzisa i-quantifier ezinhlamvini eziningana kanyekanye kanye nokubamba umbhalo obanjiwe usebenzise futhi. Ku-(\d{4})-(\d{2})-(\d{2}) iqembu ngalinye libamba ingxenye yosuku ongase uyikhiphe kamuva. I-alternation nge-pipe isebenza njenge-"noma": i-cat|dog|fish ibamba noma yiliphi kulawa magama amathathu.

Amaphethini ozowasebenzisa ngempela

Imisebenzi embalwa ephindaphindekayo iphathelene neningi lomsebenzi wangempela. Ukubamba okuthile okufana ne-imeyili, i-[\w.+-]+@[\w-]+\.[\w.-]+ iyisiqalo esisebenzayo; ukuqinisekiswa okuphelele kwe-imeyili ngokwesipesheli esisemthethweni kudume ngokuyinkimbinkimbi, kanti iphethini engaqinile ngokuvamile isinqumo esifanele lapho uveza abazokhethwa esikhundleni sokwenqaba abasebenzisi.

Kumanani, i-\d+ ibamba imigudu yamadijithi, kanti i--?\d+(\.\d+)? ibamba ama-negative akhethekile kanye namadesimali. Ukususa izikhala ezisekuqaleni nasekugcineni, bamba i-^\s+|\s+$ bese uyikhipha ngalutho. Ukuthola amagama aphindaphindekile, iphethini ye-backreference i-\b(\w+)\s+\1\b ibamba igama elilandelwa yilo uqobo, lapho i-\1 ibhekisela emuva eqenjini lokuqala elibambiwe.

Amagama akhethiwe ekhanya ngegolide futhi eqhamile kumfula ogelezayo wamaqhwagi afana nombhalo aluhlaza okwesibhakabhaka ngasemuva okuluhlaza okumnyama
Ukuqhamisa kwesikhathi sangempela kukhombisa ngqo yiziphi izigaba zombhalo wakho iphethini eziphathelene nazo.

Amafulegi ashintsha indlela ukubamba okuziphatha ngayo

Amafulegi izikhiye eziguqula iphethini yonke. Ifulegi le-global (g) lithola konke okubanjwa esikhundleni sokuma kokokuqala, okuyilokho okudingekayo uma uqhamisa konke okuvelayo. Ifulegi elingahlukanisi unobumba abakhulu nabancane (i) lenza i-error ibambe "Error" ne-"ERROR" ngokulinganayo. Ifulegi le-multiline (m) lishintsha i-^ ne-$ ukuze zibambe isiqalo nesiphetho somugqa ngamunye, hhayi umbhalo wonke kuphela, okubalulekile kumsebenzi wombiko umugqa ngamunye. Amanye amafulegi asizayo afaka i-s (i-dotall, evumela ichaphaza libambe imigqa emisha) kanye ne-u yokuphatha i-Unicode egcwele.

Izinhlobo zihluka kancane ngokolimi

I-Regex uhlobo lwezilimi ezihlukene, hhayi izinga elilodwa eliqinile. I-JavaScript, i-Python, i-PCRE (i-PHP), i-Java, i-.NET, i-Go, ne-Rust ziyavumelana ohlelweni oluyisisekelo olungenhla, kodwa ziyahluka emikhawulweni: ukusekelwa kwe-lookbehind, isakhiwo samaqembu aqanjiwe ((?<name>...) uma kuqhathaniswa ne-(?P<name>...)), amaphunga we-Unicode property, kanye nokuthi yimaphi amafulegi akhona konke kuyahluka. Iphethini esebenza kwenye injini ingase idinge ushintsho oluncane kwenye, ngakho kunosizo ukuhlola ngokumelene nohlobo owusebenzisa ngempela. Uma usuyilungisile iphethini, amanye amathuluzi ethu omthuthukisi kanye namathuluzi ombhalo angasiza ngomsebenzi ozungezile wokuhlanza, ukubhala, nokuguqula idatha osanda kuyibamba.

Imibuzo evame ukubuzwa

Ingabe umbhalo wami uthunyelwa eseva?

Cha. I-Regex Tester isebenza ngokuphelele ngaphakathi kwesiphequluli sakho. Iphethini yakho nombhalo wesibonelo kuhlala kudivayisi yakho futhi akulokothi kufakwe, ngakho kuphephile ukungenisa idatha ebucayi.

Yiluphi uhlobo lwe-regex leli thuluzi elilisebenzisayo?

Lisebenzisa injini ye-regex ye-JavaScript eyakhelwe ngaphakathi kwesiphequluli sakho. Uhlelo oluyisisekelo luyahambisana nalokho okwaziyo kusuka ezilimini eziningi, nakuba ezinye izici ezithuthukile zihluka kancane kusuka ku-PCRE, i-Python, noma i-.NET.

Yini umehluko phakathi kokubamba ngokuhaha nokubamba ngokunciphisa?

Ngokuzenzakalela ama-quantifier ayahaha futhi abambe umbhalo omningi ngangokunokwenzeka. Ukwengeza uphawu lombuzo kuwenza abambe okuncane ngangokunokwenzeka. Isibonelo, iphethini ye-dot star iyahaha kanti i-dot star equestion mark incishisa.

Ngibamba kanjani uphawu olukhethekile oluqondile?

Luphephise ngo-backslash. Ukubamba ichaphaza langempela, bhala i-backslash bese i-dot. Kufana nakwezinye izimpawu ezikhethekile ezifana namabhrikithi, izinhlu, uphawu lwe-plus, kanye nophawu lombuzo.

Kungani iphethini yami ingabambi lutho?

Izimbangela ezivamile yifulegi le-global elingekho, ama-anchor abamba indawo engalungile, uphawu olukhethekile olungaphephisiwe, noma ama-quantifier ahahayo adlula umkhawulo owawulindele. Hlola ingxenye ngengxenye ukuthola isisusa.

Ngingakwazi yini ukubamba izingxenye zokubanjiwe?

Yebo. Songa ingxenye yephethini ngamabhrikithi ukwakha iqembu lokubamba. Iqembu ngalinye libikwa ngokwehlukene, okukuvumela ukukhipha izinsimu ezifana nonyaka, inyanga, nosuku kusuku.