Regex rakstu testētājs
Sakritības rezultāti
Ievadiet rakstu un testa tekstu, lai redzētu rezultātus
Saglabāt rakstu
Sakritības rezultāti
Ievadiet rakstu un testa tekstu, lai redzētu rezultātus
Saglabātie raksti
Vēl nav saglabātu rakstu
Regex simbolu ceļvedis
.
Atbilst jebkurai zīmei, izņemot jaunu rindu\d
Atbilst jebkurai ciparam (0-9)\D
Atbilst jebkurai neciparu zīmei\w
Atbilst jebkurai vārda zīmei (a-z, A-Z, 0-9, _)\W
Atbilst jebkurai ne-vārda zīmei\s
Atbilst jebkurai tukšai zīmei\S
Atbilst jebkurai ne-tukšai zīmei^
Atbilst rindiņas sākumam$
Atbilst rindiņas beigām*
Atbilst 0 vai vairāk iepriekšējās zīmes+
Atbilst 1 vai vairāk iepriekšējās zīmes?
Atbilst 0 vai 1 iepriekšējās zīmes{n}
Atbilst tieši n iepriekšējās zīmes{n,}
Atbilst vismaz n iepriekšējās zīmes{n,m}
Atbilst starp n un m iepriekšējās zīmes[abc]
Atbilst jebkurai no zīmēm, kas ir iekavās[^abc]
Atbilst jebkurai zīmei, kas nav iekavās(abc)
Apvieno vairākus simbolus kopā un sag捕a atbilstībua|b
Atbilst vai nu a, vai b\b
Atbilst vārda robežas pozīcijaiRegex Modeļu Testētājs un Validētājs
Ievads
Regulārā izteiksme (regex) modeļu testētājs ir būtisks rīks izstrādātājiem, datu analītiķiem un ikvienam, kas strādā ar teksta apstrādi. Šis visaptverošais regex modeļu validētājs ļauj jums izveidot, testēt un uzlabot regulārās izteiksmes reāllaikā, sniedzot tūlītēju vizuālu atgriezenisko saiti par modeļa atbilstībām. Neatkarīgi no tā, vai jūs validējat e-pasta adreses, parsējat žurnālfailus vai izvelkat konkrētus datus no teksta, mūsu regex testētājs padara izstrādes un kļūdu novēršanas procesu ātrāku un intuitīvāku.
Regulārās izteiksmes ir jaudīgas modeļu atbilstības secības, kas ļauj veikt sarežģītu teksta meklēšanu, validāciju un manipulāciju. Tomēr to sintakse var būt sarežģīta un grūti apgūstama. Šis regex modeļu testētājs vienkāršo procesu, izceļot atbilstības, kamēr jūs rakstāt, validējot modeļa sintaksi un ļaujot jums saglabāt bieži izmantotos modeļus turpmākai atsaucē.
Kā lietot Regex Modeļu Testētāju
Mūsu regex modeļu validētāja izmantošana ir vienkārša un intuitīva. Izpildiet šos soļus, lai sāktu:
-
Ievadiet regulārās izteiksmes modeli: Ierakstiet savu regex modeli norādītajā ievades laukā. Rīks reāllaikā validē jūsu modeli, brīdinot par jebkurām sintakses kļūdām.
-
Izvēlieties regex karogus: Izvēlieties piemērotus karogus savam modelim:
g
(Globālais): Atrodiet visas atbilstības, nevis apstājieties pēc pirmās atbilstībasi
(Nerakstveidīgs): Padariet modeli nerakstveidīgum
(Vairāku rindu): Padariet^
un$
atbilstīgus katras rindas sākumam/beigām- Dažādas šo karogu kombinācijas ir pieejamas nolaižamajā sarakstā
-
Ievadiet testēšanas tekstu: Ierakstiet tekstu, kuru vēlaties testēt pret savu modeli, testēšanas teksta laukā.
-
Skatiet rezultātus reāllaikā: Kamēr jūs rakstāt, rīks automātiski:
- Izceļ visas modeļa atbilstības testēšanas tekstā
- Rāda kopējo atrasto atbilstību skaitu
- Norāda, vai modelis atbilst visam tekstam
-
Saglabājiet noderīgus modeļus: Modeļiem, kurus jūs izmantojat bieži:
- Ierakstiet aprakstošu etiķeti savam modelim
- Noklikšķiniet uz "Saglabāt" pogas
- Piekļūstiet saviem saglabātajiem modeļiem sadaļā "Saglabātie modeļi"
-
Kopējiet rezultātus: Izmantojiet "Kopēt atbilstības" pogu, lai kopētu visu atbilstīgo tekstu savā starpliktuvē, lai to izmantotu citās lietojumprogrammās.
Interfeiss ir sadalīts divās galvenajās paneļos: ievades panelī, kur jūs ievadāt savu modeli un testēšanas tekstu, un rezultātu panelī, kas parāda atbilstības un modeļa informāciju.
Regulārās Izteiksmes Pamati
Regulārās izteiksmes izmanto īpašus simbolus un secības, lai definētu meklēšanas modeļus. Šeit ir ceļvedis par pamata regex simboliem, ko atbalsta mūsu rīks:
Simbolu Atbilstība
Simbols | Apraksts | Piemērs | Atbilst |
---|---|---|---|
. | Atbilst jebkurai rakstzīmei, izņemot jauno rindu | a.c | "abc", "adc", "a1c" utt. |
\d | Atbilst jebkurai ciparu rakstzīmei (0-9) | \d{3} | "123", "456", "789" utt. |
\D | Atbilst jebkurai neciparu rakstzīmei | \D+ | "abc", "xyz" utt. |
\w | Atbilst jebkurai vārda rakstzīmei (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" utt. |
\W | Atbilst jebkurai ne-vārda rakstzīmei | \W+ | "!@#", " + " utt. |
\s | Atbilst jebkurai tukšās vietas rakstzīmei | a\sb | "a b", "a\tb" utt. |
\S | Atbilst jebkurai ne-tukšās vietas rakstzīmei | \S+ | "abc", "123" utt. |
Pozīcijas Aizsargi
Simbols | Apraksts | Piemērs | Atbilst |
---|---|---|---|
^ | Atbilst rindas sākumam | ^abc | "abc" rindas sākumā |
$ | Atbilst rindas beigām | abc$ | "abc" rindas beigās |
\b | Atbilst vārda robežai | \bword\b | "word" kā pilnam vārdam |
Kvantifikatori
Simbols | Apraksts | Piemērs | Atbilst |
---|---|---|---|
* | Atbilst 0 vai vairāk iepriekšējās rakstzīmes | a*b | "b", "ab", "aab" utt. |
+ | Atbilst 1 vai vairāk iepriekšējās rakstzīmes | a+b | "ab", "aab", "aaab" utt. |
? | Atbilst 0 vai 1 iepriekšējās rakstzīmes | colou?r | "color", "colour" |
{n} | Atbilst precīzi n iepriekšējās rakstzīmes | a{3} | "aaa" |
{n,} | Atbilst vismaz n iepriekšējās rakstzīmes | a{2,} | "aa", "aaa", "aaaa" utt. |
{n,m} | Atbilst starp n un m iepriekšējās rakstzīmes | a{2,4} | "aa", "aaa", "aaaa" |
Rakstzīmju Klases
Simbols | Apraksts | Piemērs | Atbilst |
---|---|---|---|
[abc] | Atbilst jebkurai no rakstzīmēm iekavās | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Atbilst jebkurai rakstzīmei, kas nav iekavās | [^aeiou] | Jebkura rakstzīme, izņemot "a", "e", "i", "o", "u" |
[a-z] | Atbilst jebkurai rakstzīmei diapazonā | [a-z] | Jebkura maza burta rakstzīme |
Grupēšana un Alternatīva
Simbols | Apraksts | Piemērs | Atbilst |
---|---|---|---|
(abc) | Grupē vairākus simbolus kopā un saglabā atbilstību | (abc)+ | "abc", "abcabc" utt. |
a|b | Atbilst vai nu a, vai b | cat|dog | "cat", "dog" |
Uzlabotas Regex Modeļu
Kad esat apguvis pamatus, varat izveidot sarežģītākus modeļus, lai risinātu sarežģītas teksta apstrādes problēmas:
E-pasta Validācija
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Šis modelis validē e-pasta adreses, nodrošinot, ka tās atbilst standarta formātam: lietotājvārds@domēns.tld.
URL Validācija
^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
Šis modelis validē URL, tostarp tos, kas ir ar vai bez http/https protokola.
Tālruņa Numura Validācija (ASV Formāts)
^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
Šis modelis atbilst ASV tālruņa numuriem dažādos formātos: (123) 456-7890, 123-456-7890 vai 1234567890.
Datuma Validācija (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
Šis modelis validē datumus YYYY-MM-DD formātā, ar pamata validāciju mēneša un dienas diapazonos.
Priekšskatījums un Aizskats
Priekšskatījuma un aizskata apgalvojumi ļauj jums atbilst modeļiem tikai tad, ja tie ir sekojoši vai priekšā citiem modeļiem:
- Pozitīvs priekšskatījums:
a(?=b)
atbilst "a", tikai ja to seko "b" - Negatīvs priekšskatījums:
a(?!b)
atbilst "a", tikai ja to neseko "b" - Pozitīvs aizskats:
(?<=a)b
atbilst "b", tikai ja to priekšā ir "a" - Negatīvs aizskats:
(?<!a)b
atbilst "b", tikai ja to priekšā nav "a"
Darbs ar Regex Karogiem
Mūsu regex testētājs atbalsta dažādus karogus, kas maina to, kā modeļi tiek atbilstīgi:
- g (Globālais): Atrodiet visas atbilstības, nevis apstājieties pēc pirmās atbilstības
- i (Nerakstveidīgs): Padariet modeli nerakstveidīgu
- m (Vairāku rindu): Padariet
^
un$
atbilstīgus katras rindas sākumam/beigām - Kombinācijas: Jūs varat kombinēt karogus, lai iegūtu sarežģītākas atbilstības prasības
Regex Modeļu Testēšanas Lietojumi
Regulārās izteiksmes ir daudz praktisku pielietojumu dažādās jomās:
Tīmekļa Izstrāde
-
Formu Validācija: Nodrošiniet, ka lietotāju ievades atbilst prasītajiem formātiem:
- E-pasta adreses:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
- Paroles (ar sarežģītības prasībām):
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
- URL:
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
- E-pasta adreses:
-
HTML Parsēšana: Izvelciet konkrētus elementus vai atribūtus:
- Atrodiet visus attēlu tagus:
<img[^>]+src="([^">]+)"
- Izvelciet saites:
<a[^>]+href="([^">]+)"
- Atrodiet visus attēlu tagus:
Datu Apstrāde
-
Žurnālfailu Analīze: Izvelciet informāciju no žurnāla ierakstiem:
- IP adreses:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
- Laika zīmogi:
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
- Kļūdu ziņojumi:
ERROR: .*
- IP adreses:
-
CSV Parsēšana: Apstrādājiet komatu atdalītas vērtības ar potenciāli citētiem laukiem:
- CSV lauka meklētājs:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
- CSV lauka meklētājs:
Teksta Apstrāde
-
Meklēšana un Aizvietošana: Identificējiet modeļus aizvietošanai:
- Noņemiet HTML tagus:
<[^>]*>
- Formatējiet tālruņa numurus:
(\d{3})(\d{3})(\d{4})
→($1) $2-$3
- Noņemiet HTML tagus:
-
Saturu Izvilkšana: Izvelciet konkrētu informāciju no strukturēta teksta:
- Izvelciet datumus:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
- Atrodiet naudas vērtības:
\$\d+(?:\.\d{2})?
- Izvelciet datumus:
Programmēšana un Kodēšana
-
Sintakses Izcelšana: Identificējiet valodas konstrukcijas:
- JavaScript mainīgie:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
- Funkciju definīcijas:
function\s+([a-zA-Z_$][\w$]*)\s*\(
- JavaScript mainīgie:
-
Koda Pārveidošana: Atrodiet modeļus, kas jāatjaunina:
- Novecojušas API izsaukumi:
\.oldMethod\(
- Nepietiekami drošas funkcijas:
eval\(
- Novecojušas API izsaukumi:
Modeļu Saglabāšana un Pārvaldība
Mūsu regex modeļu testētājs ietver modeļu pārvaldības sistēmu, kas ļauj jums saglabāt un atkārtoti izmantot bieži izmantotās izteiksmes:
Kad Saglabāt Modeļus
Apsveriet iespēju saglabāt modeļus, kas:
- Jūs izmantojat bieži dažādos projektos
- Ir sarežģīti un grūti atcerēties
- Kalpo specifiskām validācijas vajadzībām jūsu darbā
- Jūs esat uzlabojis pēc vairākiem iterācijām
Labākās Prakses Modeļu Etiķetēm
Saglabājot modeļus, izmantojiet aprakstošas etiķetes, kas:
- Norāda modeļa mērķi (piemēram, "E-pasta Validētājs")
- Minē specifiskos formātus (piemēram, "ASV Tālruņa Numurs")
- Iekļauj versijas informāciju, ja jūs iterējat uz modeļiem (piemēram, "URL Validētājs v2")
- Ir kodolīgas, bet informatīvas
Modeļu Organizācija
Organizējiet savus saglabātos modeļus pēc:
- Funkcijas (validācija, izvilkšana, aizvietošana)
- Jomas (tīmekļa izstrāde, datu apstrāde)
- Sarežģītības (pamats, uzlabots)
- Izmantošanas biežuma
Modeļu Koplietošana
Lai gan mūsu rīks tieši neatbalsta modeļu koplietošanu starp lietotājiem, jūs varat:
- Kopēt modeļus, lai dalītos ar kolēģiem
- Dokumentēt savus modeļus kopīgā repozitorijā
- Iekļaut modeļu aprakstus projekta dokumentācijā
Biežāk Uzdotie Jautājumi
Kas ir regulārā izteiksme?
Regulārā izteiksme (regex) ir rakstzīmju secība, kas nosaka meklēšanas modeli. Šie modeļi var tikt izmantoti virkņu meklēšanai, atbilstībai un teksta manipulācijas operācijām.
Kāpēc man vajadzīgs regex modeļu testētājs?
Regex modeļu testētājs palīdz jums izstrādāt un novērst kļūdas regulārajās izteiksmēs, sniedzot tūlītēju vizuālu atgriezenisko saiti par atbilstībām, validējot modeļa sintaksi un ļaujot jums eksperimentēt ar dažādiem modeļiem un karogiem, pirms tos īstenojat kodā.
Kā es varu atbilst literālai īpašai rakstzīmei, piemēram, punktam vai zvaigznītei?
Lai atbilstu literālām īpašām rakstzīmēm, kurām parasti ir īpaša nozīme regex, jums tās jāizvairās ar atpakaļslīpo svītru. Piemēram, lai atbilstu literālam punktam, izmantojiet \.
nevis tikai .
.
Kāda ir atšķirība starp .*
un .*?
regex modelī?
.*
ir alkatīgs kvantifikators, kas atbilst pēc iespējas vairāk rakstzīmju, kamēr .*?
ir slinks (nealkojošs) kvantifikators, kas atbilst pēc iespējas mazāk rakstzīmju. Šī atšķirība ir svarīga, kad vēlaties atrast īsāko atbilstību, nevis garāko.
Vai es varu izmantot šo regex testētāju modeļiem jebkurā programmēšanas valodā?
Lai gan pamatregex sintakse ir līdzīga daudzās valodās, pastāv nianses to īstenošanā. Mūsu testētājs izmanto JavaScript regex dzinēju, kas ir saderīgs ar daudzām tīmekļa valodām, bet var atšķirties no regex valodām, piemēram, Python, Java vai Perl.
Kā es varu validēt visu virkni ar regex?
Lai validētu, ka visa virkne atbilst modelim, izmantojiet ^
aizsargu sākumā un $
aizsargu beigās jūsu regex. Piemēram, ^[0-9]+$
atbilst tikai virknes, kas sastāv tikai no cipariem.
Kas ir grupēšanas grupas un kā es tās varu izmantot?
Grupēšanas grupas, kas izveidotas ar iekavām ()
, ļauj jums izvilkt specifiskas daļas no atbilstā teksta. Mūsu testētājā jūs varat redzēt visas atbilstības, tostarp saglabātās grupas. Programmēšanas valodās jūs parasti varat piekļūt šīm saglabātajām daļām, indeksējot atbilstības rezultātu.
Kā es varu padarīt savus regex modeļus efektīvākus?
Lai uzlabotu regex efektivitāti: esiet specifiski ar rakstzīmju klasēm, izvairieties no nevajadzīgām grupēšanas grupām (izmantojiet negrupēšanas grupas (?:...)
, kad tas ir iespējams), ierobežojiet priekšskatījumu/aizskatu izmantošanu lielos tekstos un apsveriet iespēju izmantot specifiskākus modeļus, nevis plašus.
Kādas ir visbiežāk sastopamās regex kļūdas, kuras jāizvairās?
Biežākās kļūdas ietver: īpašu rakstzīmju neizvairīšanu, veidojot pārāk alkatīgus modeļus, aizmirstot nostiprināt modeļus (ar ^
un $
), un rakstot pārāk sarežģītas izteiksmes, kuras ir grūti uzturēt.
Vai regex var apstrādāt ligzdotas struktūras, piemēram, HTML?
Regulārās izteiksmes nav labi piemērotas ligzdotu struktūru, piemēram, HTML vai XML, parsēšanai. Lai gan jūs varat izveidot regex modeļus vienkāršai HTML atbilstībai, parasti ir labāk izmantot veltītu HTML parsētāju sarežģītai HTML apstrādei.
Atsauces
- Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
- Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
- "Regulārā izteiksme." Vikipēdija, Vikipēdijas fonds, https://en.wikipedia.org/wiki/Regular_expression
- MDN Web Docs. "Regulārās izteiksmes." Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- RegExr: Mācieties, veidojiet un testējiet RegEx. https://regexr.com/
Izmēģiniet mūsu regex modeļu testētāju šodien, lai vienkāršotu savas teksta apstrādes uzdevumus, validētu ievades formātus un izvilktu nozīmīgus datus no strukturēta teksta. Neatkarīgi no tā, vai esat iesācējs, kurš apgūst regulāro izteiksmju pamatus, vai pieredzējis izstrādātājs, kurš strādā ar sarežģītu modeļu atbilstību, mūsu rīks piedāvā funkcijas, kas jums nepieciešamas, lai efektīvi izveidotu, testētu un uzlabotu savus regex modeļus.