Regex Tester
Subukan at i-debug ang mga regular na expression kaagad sa iyong browser. I-highlight ang mga tugma, tingnan ang mga grupo ng pagkuha, at gamitin ang replace mode — libre at pribado.
Subukan at i-debug ang mga regular na expression kaagad sa iyong browser. I-highlight ang mga tugma, tingnan ang mga grupo ng pagkuha, at gamitin ang replace mode — libre at pribado.
Ang mga regular na expression ay isang wikang tukoy sa domain para sa pagtutugma ng mga pattern sa text. Ang mga ito ay bahagi ng computing mula noong 1968 at ngayon ay binuo sa bawat modernong programming language, text editor, at command-line na tool sa paghahanap. Ang syntax ay maikli ngunit madaling kapitan ng error: ang maliliit na pagbabago ay gumagawa ng bahagyang magkakaibang pag-uugali ng pagtutugma, at ang mga kumplikadong expression ay nagiging hindi nababasa nang mabilis. Ang isang tester na nagpapakita ng mga tugma sa real time habang ine-edit mo ang pattern ay ang pinakamabisang paraan upang bumuo at mag-verify ng regex.
Ang tester na ito ay tumatakbo sa iyong browser gamit ang JavaScript regex engine (ang parehong ginagamit ng iyong application kung ito ay tumatakbo sa isang browser). Ang mga pattern at pagsubok na pag-update ng text ay reaktibo: bawat pagbabago sa alinman sa muling pagpapatakbo ng tugma. Naka-highlight ang mga pangkat ng tugma, nakalista ang mga nakuhang grupo, at naka-expose ang mga flag (case-insensitive, multiline, global) para sa pagsubok.
Ang syntax ng regex ay bahagyang nag-iiba sa pagitan ng mga makina. Sinusunod ng JavaScript ang spec ng ECMAScript; Ang Python, PCRE (ginamit ng PHP at marami pang iba), Java, at Go ay may kanya-kanyang diyalekto na may magkakapatong ngunit hindi magkakatulad na mga tampok. Ang mga pattern na binuo dito ay gumagamit ng ECMAScript syntax; Ang cross-engine portability ay nangangailangan ng pagsusuri sa bawat dokumentasyon ng target.
Ang mga regex bug ay kilalang mahirap i-debug pagkatapos ng pag-deploy. Ang isang pattern na mukhang makatwiran ay maaaring tumugma sa higit pa o mas kaunti kaysa sa nilalayon, mabibigo sa mga gilid na kaso, o magkaroon ng sakuna na backtracking sa ilang partikular na input. Ang mga pattern ng pagsubok nang interactive laban sa kinatawan ng input ay nakakakuha ng mga isyu bago ang pagsusuri at paggawa ng code.
Nakikinabang din ang mga pattern sa dokumentasyon. Ang pagpapakita ng regex sa tabi ng input na dapat itong tumugma at ang input na hindi nito dapat tumugma ay ginagawang tahasan ang layunin. Pinahahalagahan ng mga tagapangasiwa sa hinaharap (kabilang ang iyong sarili sa loob ng anim na buwan) ang mga dokumentadong kaso ng pagsubok kaysa sa mga matatalinong one-liner.
Mag-type ng pattern, i-type ang test input, tingnan ang mga tugma na naka-highlight nang live.
Sinusunod ng JavaScript regex ang detalye ng ECMAScript. Mga pangunahing feature: mga klase ng character ([abc], [^abc]), mga quantifier (*, +, ?, {n,m}), alternation (|), pagpapangkat ((...)), pagkuha at hindi pagkuha ng mga grupo, lookahead at look behind (modernong engine), backreferences, pinangalanang grupo, Unicode property escapes (na may u flag), at mga set ng standard na set.
Mahahalagang pagkakaiba mula sa PCRE at Python: ang hitsura sa likod ng suporta ay kamakailan lamang sa JavaScript (2018+); ang mga pinangalanang pangkat ay gumagamit ng (?<pangalan>...) syntax; ang ilang Unicode escape ay nangangailangan ng u flag na gumana nang tama. Ang mga pattern na inilaan para sa cross-language na paggamit ay dapat suriin sa bawat dokumentasyon ng target.
Pagganap: ang mga backtracking-based na regex engine (karamihan kasama ang JavaScript) ay maaaring magkaroon ng sakuna na backtracking sa ilang partikular na pathological pattern. Ang mga pagsubok na nakabitin sa tester ay isang senyales na ang pattern ay nangangailangan ng pagpapasimple — karaniwang sa pamamagitan ng pag-iwas sa mga nested quantifier at hindi maliwanag na paghahalili.