Testaa säännöllisiä lausekkeita reaaliaikaisella osumakorostuksella, mallin validoimisella ja yleisten regex-symbolien selityksillä. Tallenna ja käytä usein käyttämiäsi malleja mukautetuilla nimillä.
Syötä malli ja testiteksti nähdäksesi tulokset
Syötä malli ja testiteksti nähdäksesi tulokset
Ei vielä tallennettuja malleja
.
Vastaavat mitä tahansa merkkiä lukuun ottamatta rivinvaihtoa\d
Vastaavat mitä tahansa numeroa (0-9)\D
Vastaavat mitä tahansa ei-numeroa\w
Vastaavat mitä tahansa sanamerkkiä (a-z, A-Z, 0-9, _)\W
Vastaavat mitä tahansa ei-sana merkkiä\s
Vastaavat mitä tahansa välilyöntimerkkiä\S
Vastaavat mitä tahansa ei-välilyöntimerkkiä^
Vastaavat rivin alkua$
Vastaavat rivin loppua*
Vastaavat 0 tai enemmän edeltävää merkkiä+
Vastaavat 1 tai enemmän edeltävää merkkiä?
Vastaavat 0 tai 1 edeltävää merkkiä{n}
Vastaavat tarkalleen n edeltävää merkkiä{n,}
Vastaavat vähintään n edeltävää merkkiä{n,m}
Vastaavat n ja m edeltävää merkkiä[abc]
Vastaavat mitä tahansa merkkiä sulkujen sisällä[^abc]
Vastaavat mitä tahansa merkkiä, joka ei ole sulkujen sisällä(abc)
Ryhmää useita tokeneita yhteen ja tallentaa otteluna|b
Vastaavat joko a tai b\b
Vastaavat sanarajan sijaintiaSäännöllinen lauseke (regex) -mallin testeri on olennainen työkalu kehittäjille, data-analyytikoille ja kaikille, jotka työskentelevät tekstinkäsittelyn parissa. Tämä kattava regex-mallin validoija antaa sinun luoda, testata ja hiota säännöllisiä lausekkeita reaaliajassa, tarjoten välitöntä visuaalista palautetta mallin osumista. Olitpa sitten validoimassa sähköpostiosoitteita, jäsentämässä lokitiedostoja tai erottamassa tiettyjä tietoja tekstistä, regex-testerimme tekee kehitys- ja virheenkorjausprosessista nopeampaa ja intuitiivisempaa.
Säännölliset lausekkeet ovat voimakkaita mallintamissekvenssejä, jotka mahdollistavat monimutkaisen tekstin hakemisen, validoinnin ja manipuloinnin. Kuitenkin niiden syntaksi voi olla monimutkainen ja haastava hallita. Tämä regex-mallin testeri yksinkertaistaa prosessia korostamalla osumia kirjoittaessasi, validoimalla mallin syntaksin ja sallimalla sinun tallentaa usein käytettyjä malleja tulevaa käyttöä varten.
Regex-mallin validoijan käyttäminen on suoraviivaista ja intuitiivista. Noudata näitä vaiheita aloittaaksesi:
Syötä säännöllinen lauseke: Kirjoita regex-mallisi määrättyyn syöttökenttään. Työkalu validoi mallisi reaaliajassa, varoittaen sinua mahdollisista syntaksivirheistä.
Valitse regex-liput: Valitse sopivat liput mallillesi:
g
(Globaalinen): Löydä kaikki osumat sen sijaan, että pysähtyisit ensimmäiseen osumaani
(Koko kirjainkoko): Tee mallista kirjainkooltaan riippumatonm
(Monirivinen): Tee ^
ja $
vastaamaan jokaisen rivin alkua/loppuaSyötä testiteksti: Kirjoita teksti, jota haluat testata malliasi vastaan, testiteksti-alueelle.
Näe tulokset reaaliajassa: Kun kirjoitat, työkalu automaattisesti:
Tallenna hyödylliset mallit: Usein käytettävien mallien osalta:
Kopioi tulokset: Käytä "Kopioi osumat" -painiketta kopioidaksesi kaikki osumat leikepöydälle käytettäväksi muissa sovelluksissa.
Käyttöliittymä on jaettu kahteen pääpaneeliin: syöttöpaneeliin, johon syötät mallisi ja testitekstin, ja tulospaneeliin, joka näyttää osumat ja mallin tiedot.
Säännölliset lausekkeet käyttävät erityisiä merkkejä ja sekvenssejä määrittelemään hakumalleja. Tässä on opas tyypillisiin regex-symboleihin, joita työkalumme tukee:
Symboli | Kuvaus | Esimerkki | Vastaa |
---|---|---|---|
. | Vastaa mitä tahansa merkkiä, paitsi rivinvaihtoa | a.c | "abc", "adc", "a1c" jne. |
\d | Vastaa mitä tahansa numeroa (0-9) | \d{3} | "123", "456", "789" jne. |
\D | Vastaa mitä tahansa ei-numeroa | \D+ | "abc", "xyz" jne. |
\w | Vastaa mitä tahansa sanamerkkiä (a-z, A-Z, 0-9, _) | \w+ | "abc123", "test_123" jne. |
\W | Vastaa mitä tahansa ei-sana merkkiä | \W+ | "!@#", " + " jne. |
\s | Vastaa mitä tahansa valkoista merkkiä | a\sb | "a b", "a\tb" jne. |
\S | Vastaa mitä tahansa ei-valkoista merkkiä | \S+ | "abc", "123" jne. |
Symboli | Kuvaus | Esimerkki | Vastaa |
---|---|---|---|
^ | Vastaa rivin alkua | ^abc | "abc" rivin alussa |
$ | Vastaa rivin loppua | abc$ | "abc" rivin lopussa |
\b | Vastaa sanarajaa | \bword\b | "word" kokonaisena sanana |
Symboli | Kuvaus | Esimerkki | Vastaa |
---|---|---|---|
* | Vastaa 0 tai useampaa edeltävää merkkiä | a*b | "b", "ab", "aab" jne. |
+ | Vastaa 1 tai useampaa edeltävää merkkiä | a+b | "ab", "aab", "aaab" jne. |
? | Vastaa 0 tai 1 edeltävää merkkiä | colou?r | "color", "colour" |
{n} | Vastaa tarkasti n edeltävää merkkiä | a{3} | "aaa" |
{n,} | Vastaa vähintään n edeltävää merkkiä | a{2,} | "aa", "aaa", "aaaa" jne. |
{n,m} | Vastaa n ja m edeltävää merkkiä | a{2,4} | "aa", "aaa", "aaaa" |
Symboli | Kuvaus | Esimerkki | Vastaa |
---|---|---|---|
[abc] | Vastaa mitä tahansa merkkiluokassa olevista merkeistä | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Vastaa mitä tahansa merkkiä, joka ei ole luokassa | [^aeiou] | Mikä tahansa merkki, paitsi "a", "e", "i", "o", "u" |
[a-z] | Vastaa mitä tahansa merkkiluokassa olevista merkeistä | [a-z] | Mikä tahansa pieni kirjain |
Symboli | Kuvaus | Esimerkki | Vastaa |
---|---|---|---|
(abc) | Ryhmittää useita tokeneita yhteen ja tallentaa osuman | (abc)+ | "abc", "abcabc" jne. |
a|b | Vastaa joko a tai b | cat|dog | "cat", "dog" |
Kun olet hallinnut perusteet, voit luoda monimutkaisempia malleja ratkaistaksesi monimutkaisia tekstinkäsittelyhaasteita:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Tämä malli validoi sähköpostiosoitteita varmistaen, että ne noudattavat vakiomuotoa: käyttäjänimi@domain.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Tämä malli validoi URL-osoitteita, mukaan lukien ne, joissa on tai ei ole http/https-protokollaa.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Tämä malli vastaa Yhdysvaltain puhelinnumeroita eri muodoissa: (123) 456-7890, 123-456-7890 tai 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Tämä malli validoi päivämääriä VVVV-KK-PV-muodossa, perusvalidoinnilla kuukausi- ja päivämäärärajoista.
Eteen- ja taaksepäin katsomisen väitteet mahdollistavat mallin vastaamisen vain, jos se on toisen mallin edellä tai takana:
a(?=b)
vastaa "a":ta vain, jos sen jälkeen tulee "b"a(?!b)
vastaa "a":ta vain, jos sen jälkeen ei tule "b"(?<=a)b
vastaa "b":tä vain, jos sen edellä on "a"(?<!a)b
vastaa "b":tä vain, jos sen edellä ei ole "a"Regex-testerimme tukee erilaisia lippuja, jotka muokkaavat, miten malleja vastataan:
^
ja $
vastaamaan jokaisen rivin alkua/loppuaSäännöllisillä lausekkeilla on lukuisia käytännön sovelluksia eri aloilla:
Lomakkeiden validointi: Varmista, että käyttäjän syötteet vastaavat vaadittuja muotoja:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
HTML-jäsentäminen: Erota tietyt elementit tai attribuutit:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Lokitiedostojen analysointi: Erota tietoa lokitiedoista:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
CSV-jäsentäminen: Käsittele pilkulla erotettuja arvoja mahdollisesti lainausmerkillä varustetuilla kentillä:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Etsi ja vaihda: Tunnista malleja korvaamista varten:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Sisällön erottaminen: Vedä erityistä tietoa jäsentämättömästä tekstistä:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Syntaksin korostaminen: Tunnista kielirakenteet:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Koodin refaktorointi: Etsi malleja, jotka tarvitsevat päivittämistä:
\.oldMethod\(
eval\(
Regex-mallin testerimme sisältää mallinhallintajärjestelmän, joka sallii sinun tallentaa ja käyttää uudelleen usein käyttämiäsi lausekkeita:
Harkitse mallien tallentamista, jotka:
Kun tallennat malleja, käytä kuvailevia nimiä, jotka:
Organisoi tallennetut mallit:
Vaikka työkalumme ei suoraan tue mallien jakamista käyttäjien välillä, voit:
Jopa kokeneet kehittäjät kohtaavat haasteita säännöllisten lausekkeiden kanssa. Tässä on ratkaisuja yleisiin ongelmiin:
Jos mallisi näyttää validoimisvirheen:
Jos regexisi on hidas tai aiheuttaa selaimen viivettä:
(a+)+
)Jos mallisi vastaa ei-toivottua tekstiä:
^
ja $
) vastataksesi koko merkkijonoa\b
) tarvittaessaJos mallisi ei vastaa odotettua tekstiä:
i
-lipun käyttöä)Vaikka regex on voimakas, se ei aina ole paras ratkaisu jokaiselle tekstinkäsittelytehtävälle:
Yksinkertaisille tekstitoiminnoille natiivimerkkimenetelmät ovat usein selkeämpiä ja tehokkaampia:
String.indexOf()
alimerkkijonojen etsimiseenString.startsWith()
ja String.endsWith()
merkkijonon rajojen tarkistamiseenString.split()
perustokenointiinRakenteellisiin tietomuotoihin omistetut jäsentäjät ovat kestävämpiä:
Ymmärtämään tekstin merkitystä sen sijaan, että vain mallintaisit:
Harkitse vaihtoehtojen käyttöä regexin sijaan, kun:
Säännöllinen lauseke (regex) on merkkijono, joka määrittelee hakumallin. Näitä malleja voidaan käyttää merkkijonojen hakemiseen, vastaamiseen ja tekstin manipulointitoimiin.
Regex-mallin testeri auttaa sinua kehittämään ja virheenkorjaamaan säännöllisiä lausekkeita tarjoamalla välitöntä visuaalista palautetta osumista, validoimalla mallin syntaksin ja sallimalla sinun kokeilla erilaisia malleja ja lippuja ilman, että sinun tarvitsee toteuttaa niitä ensin koodissa.
Vastataksesi kirjaimellisiin erikoismerkkeihin, joilla on yleensä erityinen merkitys regexissä, sinun on paikoitettava ne takaviivalla. Esimerkiksi, jos haluat vastata kirjaimelliseen pisteeseen, käytä \.
sen sijaan, että käyttäisit vain .
.
.*
ja .*?
välillä regex-mallissa?.*
on ahne kvantifioija, joka vastaa niin monelle merkille kuin mahdollista, kun taas .*?
on laiska (ei-ahne) kvantifioija, joka vastaa niin vähälle merkille kuin mahdollista. Tämä ero on tärkeä, kun haluat löytää lyhyimmän osuman eikä pisintä.
Vaikka ydinregex-syntaksi on samanlainen monilla kielillä, toteutuksessa on hienovaraisia eroja. Testerimme käyttää JavaScriptin regex-moottoria, joka on yhteensopiva monien verkkokielten kanssa, mutta voi poiketa regexistä kielissä kuten Python, Java tai Perl.
Validoidaksesi, että koko merkkijono vastaa mallia, käytä ^
-ankkuria alussa ja $
-ankkuria lopussa regexissäsi. Esimerkiksi ^[0-9]+$
vastaa vain merkkijonoja, jotka koostuvat kokonaan numeroista.
Tallentavat ryhmät, jotka on luotu sulkujen ()
avulla, mahdollistavat tiettyjen osien erottamisen osumasta. Testerissämme voit nähdä kaikki osumat, mukaan lukien tallennetut ryhmät. Ohjelmointikielissä voit yleensä käyttää näitä tallennuksia indeksoimalla osumatuloksen.
Parantaaksesi regexin tehokkuutta: ole tarkka merkkiluokkien kanssa, vältä tarpeettomien tallentavien ryhmien käyttöä (käytä ei-tallentavia ryhmiä (?:...)
kun mahdollista), rajoita eteen- ja taaksepäin katsomisen käyttöä, ja vältä katastrofaalista takaisinseurantamallia, kuten sisäkkäisiä kvantifioijia.
Yleisimmät virheet sisältävät: erikoismerkkien paikoittamisen unohtamisen, liian ahneiden mallien luomisen, ankkureiden (kuten ^
ja $
) unohtamisen ja liian monimutkaisten lausekkeiden kirjoittamisen, jotka ovat vaikeita ylläpitää.
Säännölliset lausekkeet eivät ole hyvin soveltuvia sisäkkäisten rakenteiden, kuten HTML:n tai XML:n, jäsentämiseen. Vaikka voit luoda regex-malleja yksinkertaisten HTML-osumien löytämiseksi, on yleensä parempi käyttää omistettua HTML-jäsentäjää monimutkaisessa HTML-käsittelyssä.
Kokeile regex-mallin testeriämme tänään yksinkertaistaaksesi tekstinkäsittelytehtäviäsi, validoidaksesi syötemuotoja ja erottaaksesi merkityksellistä tietoa jäsentämättömästä tekstistä. Olitpa sitten aloittelija, joka oppii säännöllisten lausekkeiden perusteet, tai kokenut kehittäjä, joka työskentelee monimutkaisessa mallintamisessa, työkalumme tarjoaa tarvitsemasi ominaisuudet regex-malliesi tehokkaaseen luomiseen, testaamiseen ja hiomiseen.
Löydä lisää työkaluja, jotka saattavat olla hyödyllisiä työnkulullesi