Regex Mjaribu
Jaribu na utatue misemo ya kawaida papo hapo kwenye kivinjari chako. Angazia zinazolingana, angalia vikundi vya kunasa na utumie hali ya kubadilisha - bila malipo na ya faragha.
Jaribu na utatue misemo ya kawaida papo hapo kwenye kivinjari chako. Angazia zinazolingana, angalia vikundi vya kunasa na utumie hali ya kubadilisha - bila malipo na ya faragha.
Semi za kawaida ni lugha mahususi ya kikoa kwa kulinganisha ruwaza katika maandishi. Zimekuwa sehemu ya kompyuta tangu 1968 na sasa zimejengwa katika kila lugha ya kisasa ya programu, kihariri maandishi, na zana ya utafutaji ya mstari wa amri. Sintaksia ni fupi lakini inakabiliwa na makosa: mabadiliko madogo hutoa tabia tofauti ya ulinganifu, na misemo changamano huwa isiyoweza kusomeka haraka. Kijaribu kinachoonyesha mechi katika muda halisi unapohariri mchoro ndiyo njia mwafaka zaidi ya kuunda na kuthibitisha regex.
Kijaribio hiki huendeshwa katika kivinjari chako kwa kutumia injini ya regex ya JavaScript (ile ile ambayo programu yako hutumia ikiwa inaendeshwa katika kivinjari). Sampuli na maandishi ya jaribio yanasasisha kikamilifu: kila badiliko la aidha linaendesha tena mechi. Vikundi vinavyolingana vinaangaziwa, vikundi vilivyokamatwa vimeorodheshwa, na bendera (zisizojali kesi, laini nyingi, za kimataifa) huonyeshwa kwa majaribio.
Sintaksia ya Regex inatofautiana kidogo kati ya injini. JavaScript inafuata maalum ya ECMAScript; Python, PCRE (inayotumiwa na PHP na wengine wengi), Java, na Go kila moja ina lahaja zake zenye sifa zinazoingiliana lakini zisizo sawa. Sampuli zilizotengenezwa hapa hutumia sintaksia ya ECMAScript; Ubebekaji wa injini-tofauti unahitaji kuangalia nyaraka za kila lengwa.
Hitilafu za Regex ni ngumu sana kutatua baada ya kupelekwa. Mchoro unaoonekana kuwa wa kuridhisha unaweza kuendana zaidi au chini ya ilivyokusudiwa, usifaulu katika hali ngumu, au kuwa na urejeshi wa janga kwenye ingizo fulani. Mitindo ya kujaribu kwa mwingiliano dhidi ya ingizo wakilishi hupata matatizo kabla ya kukagua msimbo na uzalishaji.
Sampuli pia hunufaika na uwekaji kumbukumbu. Kuonyesha regex kando ya ingizo ambayo inapaswa kuendana na ingizo ambayo haipaswi kulinganisha hufanya dhamira iwe wazi. Watunzaji wa siku zijazo (pamoja na wewe mwenyewe katika kipindi cha miezi sita) huthamini kesi za majaribio zilizorekodiwa kuliko wanavyothamini wajanja wa mjengo mmoja.
Andika mchoro, charaza ingizo la jaribio, angalia mechi zilizoangaziwa moja kwa moja.
JavaScript regex inafuata vipimo vya ECMAScript. Sifa kuu: madarasa ya wahusika ([abc], [^abc]), vihakiki (*, +, ?, {n,m}), mbadala (|), kambi ((...)), vikundi vya kukamata na visivyokamata, kuangalia mbele na kuangalia nyuma (injini za kisasa), marejeleo, vikundi vilivyotajwa, utoroshaji wa mali ya Unicode (pamoja na seti ya bendera ya utoroshaji).
Tofauti muhimu kutoka kwa PCRE na Python: msaada wa kuangalia nyuma ni wa hivi karibuni katika JavaScript (2018+); vikundi vilivyotajwa hutumia (?<jina>...) sintaksia; baadhi ya kutoroka kwa Unicode kunahitaji u bendera kufanya kazi ipasavyo. Sampuli zinazokusudiwa kwa matumizi ya lugha-tofauti zinapaswa kuangaliwa dhidi ya hati za kila lengwa.
Utendaji: injini za regex zinazoegemezwa nyuma (nyingi ikijumuisha JavaScript) zinaweza kuwa na urejeshaji wa janga kwenye mifumo fulani ya kiafya. Majaribio yanayoning'inia kijaribu ni ishara kwamba mchoro unahitaji kurahisishwa - kwa kawaida kwa kuepuka vithamini vilivyowekwa kwenye kiota na ubadilishanaji usio na utata.