JavaScript -reguliere expressies
Een reguliere expressie is een reeks tekens die een zoekpatroon vormt.
Het zoekpatroon kan worden gebruikt voor het zoeken naar tekst en het vervangen van tekst.
Wat is een reguliere expressie?
Een reguliere expressie is een reeks tekens die een zoekpatroon vormt .
Wanneer u zoekt naar gegevens in een tekst, kunt u dit zoekpatroon gebruiken om te omschrijven waarnaar u zoekt.
Een reguliere expressie kan een enkel teken zijn of een ingewikkelder patroon.
Reguliere expressies kunnen worden gebruikt om alle soorten tekstzoek- en tekstvervangingsbewerkingen uit te voeren.
Syntaxis
/pattern/modifiers;
Voorbeeld
/w3schools/i;
Voorbeeld uitgelegd:
/w3schools/i is een reguliere expressie.
w3schools is een patroon (te gebruiken in een zoekopdracht).
i is een modifier (wijzigt de zoekopdracht zodat deze niet hoofdlettergevoelig is).
String-methoden gebruiken
In JavaScript worden reguliere expressies vaak gebruikt met de twee tekenreeksmethoden : search()
en replace()
.
De search()
methode gebruikt een expressie om naar een overeenkomst te zoeken en geeft de positie van de overeenkomst terug.
De replace()
methode retourneert een gewijzigde tekenreeks waarin het patroon wordt vervangen.
String zoeken() gebruiken met een string
De search()
methode zoekt in een tekenreeks naar een opgegeven waarde en retourneert de positie van de overeenkomst:
Voorbeeld
Gebruik een string om te zoeken naar "W3schools" in een string:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
Het resultaat in n is:
6
String zoeken() gebruiken met een reguliere expressie
Voorbeeld
Gebruik een reguliere expressie om hoofdletterongevoelig te zoeken naar "w3schools" in een string:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
Het resultaat in n is:
6
String vervangen() gebruiken met een string
De replace()
methode vervangt een opgegeven waarde door een andere waarde in een tekenreeks:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Gebruik String vervangen() met een reguliere expressie
Voorbeeld
Gebruik een hoofdletterongevoelige reguliere expressie om Microsoft te vervangen door W3Schools in een string:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
Het resultaat in res zal zijn:
Visit W3Schools!
Is het je opgevallen?
Argumenten voor reguliere expressies (in plaats van stringargumenten) kunnen in de bovenstaande methoden worden gebruikt.
Reguliere expressies kunnen uw zoekopdracht veel krachtiger maken (hoofdlettergevoelig bijvoorbeeld).
Modifiers voor reguliere expressies
Modifiers kunnen worden gebruikt om hoofdletterongevoelige, meer algemene zoekopdrachten uit te voeren:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | |
g | Perform a global match (find all matches rather than stopping after the first match) | |
m | Perform multiline matching |
Reguliere expressiepatronen
Haakjes worden gebruikt om een reeks tekens te vinden:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | |
[0-9] | Find any of the digits between the brackets | |
(x|y) | Find any of the alternatives separated with | |
Metakarakters zijn karakters met een speciale betekenis:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | |
\s | Find a whitespace character | |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
|
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx |
Kwantificatoren definiëren hoeveelheden:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | |
n* | Matches any string that contains zero or more occurrences of n | |
n? | Matches any string that contains zero or one occurrences of n |
Het RegExp-object gebruiken
In JavaScript is het RegExp-object een reguliere expressie-object met vooraf gedefinieerde eigenschappen en methoden.
Test() gebruiken
De test()
methode is een RegExp-expressiemethode.
Het zoekt in een tekenreeks naar een patroon en retourneert waar of onwaar, afhankelijk van het resultaat.
In het volgende voorbeeld wordt in een tekenreeks gezocht naar het teken "e":
Voorbeeld
const pattern = /e/;
pattern.test("The best things in life are free!");
Aangezien er een "e" in de string staat, is de uitvoer van de bovenstaande code:
true
U hoeft de reguliere expressie niet eerst in een variabele te plaatsen. De twee bovenstaande regels kunnen worden ingekort tot één:
/e/.test("The best things in life are free!");
exec() gebruiken
De exec()
methode is een RegExp-expressiemethode.
Het zoekt in een string naar een gespecificeerd patroon en retourneert de gevonden tekst als een object.
Als er geen overeenkomst wordt gevonden, wordt een leeg (null) object geretourneerd.
In het volgende voorbeeld wordt in een tekenreeks gezocht naar het teken "e":
Voorbeeld
/e/.exec("The best things in life are free!");
Volledige RegExp-referentie
Ga voor een volledige referentie naar onze Complete JavaScript RegExp Reference .
De referentie bevat beschrijvingen en voorbeelden van alle RegExp-eigenschappen en -methoden.