JavaScript Regular Expressions
- Forrige side JS bitberegninger
- Næste side JS operator prioritet
Regulære udtryk udgør søge mønstret som en sekvens af tegn.
Denne søge mønster kan bruges til tekst søgning og tekst udskiftning operationer.
Hvad er et regulært udtryk?
Regulære udtryk udgørSøge mønster (search pattern)s karaktersekvens.
Når du søger efter data i teksten, kan du bruge søge mønstret til at beskrive, hvad du søger efter.
Regulære udtryk kan være enkelttegn, eller mere komplekse mønstre.
Regulære udtryk kan bruges til at udføre alle typerTekst søgningogTekstudskiftningoperationer.
syntaks
/pattern/modifiers;
Eksempel
var patt = /codew3c/i;
Eksempel på forklaring:
/codew3c/i
er et regulært udtryk.
codew3c
er mønster (pattern) (brugt i søgningen).
Modifier
er modifier (ændrer søgningen til case-insensitive).
Brug strengmetoder
I JavaScript bruges regulære udtryk ofte til toStrengmetoder:search()
og Brug af strings metode replace() til at håndtere strengen
.
search()
Metoden bruger udtrykket til at søge efter match, og returnerer derefter matchets position.
Brug af strings metode replace() til at håndtere strengen
Metoden returnerer den ændrede streng, hvor mønsteret blev erstattet.
Brug strengmetoden search() til at håndtere streng
search()
Metoden accepterer også en streng som søgeparameter. Strengparametret vil blive konverteret til et regulært udtryk:
Eksempel
Udfør en søgning efter "W3school" ved hjælp af en streng:
var str = "Besøg CodeW3C.com!"; var n = str.search("W3School");
Brug regulære udtryk i string-metoden search()
Eksempel
Ubrug regulære udtryk til at udføre en case-insensitive søgning efter "codew3c" i søgestrengen:
var str = "Visit CodeW3C.com"; var str = "Besøg CodeW3C.com";
var n = str.search(/codew3c/i);
Resultatet af n vil være:
6
Brug af strings metode replace() til at håndtere strengen
replace()
Erstat Microsoft med W3school i strengen ved hjælp af en uopmærksomhed for store og små bogstaver. Tilføj også en streng som søgeparameter:
var res = str.replace("Microsoft", "W3School");
Eksempel
Brug af regulært udtryk i strings metode replace()
Erstat Microsoft med W3school i strengen ved hjælp af en uopmærksomhed for store og små bogstaver. var str = "Besøg Microsoft!";
var res = str.replace(/microsoft/i, "W3School");
Resultatet af res vil være:
Besøg CodeW3C.com!
Har du bemærket?
Regulære udtryksparametre (i stedet for strengparametre) kan bruges i ovenstående metoder.
Regulære udtryk kan gøre din søgning mere kraftfuld (f.eks. case-insensitive).
Kan bruges til mere global søgning uden hensyn til store og små bogstaver:Regulært udtryksmodifier
Kan bruges til mere global søgning uden hensyn til store og små bogstaver: | Beskrivelse | Prøv det |
---|---|---|
Modifier | Udfør match uden hensyn til store og små bogstaver. | Prøv det |
g | Udfør global match (find alle matches i stedet for at stoppe efter den første match). | Prøv det |
m | Udfør flerlinjebeskræftelse. | Prøv det |
Regulært udtryksmønster
ParenteserBruges til at finde bestemte rækkevidder af strenger:
Utryk | Beskrivelse | Prøv det |
---|---|---|
[abc] | Find nogen af de tegn inden for klammerne. | Prøv det |
[0-9] | Find ethvert tal fra 0 til 9. | Prøv det |
(x|y) | Find nogen af de adskilte muligheder med |. | Prøv det |
Meta-tegn (Metacharacter)er tegn med specialbetydning:
Meta-tegn | Beskrivelse | Prøv det |
---|---|---|
\d | Find tal. | Prøv det |
\s | Find mellemrumstegn. | Prøv det |
\b | Matcher ordgrænser. | Prøv det |
\uxxxx | Find Unicode-tegn defineret af den seksternære tal xxxx. | Prøv det |
Quantifiers Definer kvantificer:
Kvantificer | Beskrivelse | Prøv det |
---|---|---|
n+ | Matcher alle strenger, der indeholder mindst én n. | Prøv det |
n* | Matcher alle strenger, der indeholder en eller flere n. | Prøv det |
n? | Matcher alle strenger, der indeholder en eller ingen n. | Prøv det |
Brug af RegExp-objektet
I JavaScript er RegExp-objektet et regulært udtryksobjekt med foruddefinerede egenskaber og metoder.
Brug af test()
test()
er en metode for regulære udtryk.
Det søger efter strengene gennem mønstre og returnerer derefter true eller false baseret på resultatet.
Følgende eksempel søger efter tegnet "e" i strengen:
Eksempel
var patt = /e/; patt.test("The best things in life are free!");
Da der er en "e" i strengen, vil outputtet af ovenstående kode være:
true
Du behøver ikke først at placere regulært udtryk i en variabel. De to ovenstående linjer kan forkortes til én linje:
/e/.test("The best things in life are free!");
Brug exec()
exec()
Metode er en regulær udtryksmetode.
Den søger efter den specifikke mønster (pattern) i strengen og returnerer den fundne tekst.
Hvis der ikke findes en match, returns null.
Følgende eksempel søger efter tegnet "e" i strengen:
Eksempel
/e/.exec("The best things in life are free!");
Da der er en "e" i strengen, vil outputtet af ovenstående kode være:
e
Complete RegExp referencehåndbog
For et fuldt referencehåndbog, besøg vores complete JavaScript RegExp referencehåndbog.
Denne referencehåndbog indeholder beskrivelser og eksempler på alle RegExp egenskaber og metoder.
- Forrige side JS bitberegninger
- Næste side JS operator prioritet