JavaScript Gereelde Uitdrukkings
'n Gereelde uitdrukking is 'n reeks karakters wat 'n soekpatroon vorm.
Die soekpatroon kan gebruik word vir tekssoektogte en teksvervangingsbewerkings.
Wat is 'n gereelde uitdrukking?
'n Gereelde uitdrukking is 'n reeks karakters wat 'n soekpatroon vorm .
Wanneer jy na data in 'n teks soek, kan jy hierdie soekpatroon gebruik om te beskryf waarna jy soek.
'n Gereelde uitdrukking kan 'n enkele karakter wees, of 'n meer ingewikkelde patroon.
Gereelde uitdrukkings kan gebruik word om alle soorte tekssoektogte en teksvervangingsbewerkings uit te voer.
Sintaksis
/pattern/modifiers;
Voorbeeld
/w3schools/i;
Voorbeeld verduidelik:
/w3schools/i is 'n gereelde uitdrukking.
w3schools is 'n patroon (om in 'n soektog gebruik te word).
i is 'n wysiger (wysig die soektog om hoofletter-onsensitief te wees).
Gebruik stringmetodes
In JavaScript word gereelde uitdrukkings dikwels gebruik met die twee stringmetodes : search()
en replace()
.
Die search()
metode gebruik 'n uitdrukking om na 'n passing te soek, en gee die posisie van die passing terug.
Die replace()
metode gee 'n gewysigde string terug waar die patroon vervang word.
Gebruik String search() Met 'n String
Die search()
metode soek 'n string vir 'n gespesifiseerde waarde en gee die posisie van die passing terug:
Voorbeeld
Gebruik 'n string om 'n soektog na "W3schools" in 'n string te doen:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
Die resultaat in n sal wees:
6
Gebruik String search() met 'n gereelde uitdrukking
Voorbeeld
Gebruik 'n gewone uitdrukking om 'n hoofletter-onsensitiewe soektog vir "w3schools" in 'n string te doen:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
Die resultaat in n sal wees:
6
Gebruik String replace() Met 'n String
Die replace()
metode vervang 'n gespesifiseerde waarde met 'n ander waarde in 'n string:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Gebruik String replace() Met 'n Gereelde Uitdrukking
Voorbeeld
Gebruik 'n hoofletter-onsensitiewe gereelde uitdrukking om Microsoft met W3Schools in 'n string te vervang:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
Die resultaat in res sal wees:
Visit W3Schools!
Het jy opgemerk?
Gereelde uitdrukking argumente (in plaas van string argumente) kan in die metodes hierbo gebruik word.
Gereelde uitdrukkings kan jou soektog baie kragtiger maak (byvoorbeeld hoofletter-onsensitief).
Gereelde uitdrukking wysigers
Wysigers kan gebruik word om hoofletter-onsensitiewe meer globale soektogte uit te voer:
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 |
Gereelde uitdrukkingspatrone
Hakies word gebruik om 'n reeks karakters te vind:
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 is karakters met 'n spesiale 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 |
Kwantifiseerders definieer hoeveelhede:
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 |
Gebruik die RegExp Object
In JavaScript is die RegExp-objek 'n gewone uitdrukking-objek met voorafbepaalde eienskappe en metodes.
Gebruik toets()
Die test()
metode is 'n RegExp uitdrukking metode.
Dit soek 'n string vir 'n patroon, en gee waar of onwaar, afhangende van die resultaat.
Die volgende voorbeeld soek 'n string vir die karakter "e":
Voorbeeld
const pattern = /e/;
pattern.test("The best things in life are free!");
Aangesien daar 'n "e" in die string is, sal die uitvoer van die kode hierbo wees:
true
Jy hoef nie die gewone uitdrukking eerste in 'n veranderlike te plaas nie. Die twee reëls hierbo kan verkort word tot een:
/e/.test("The best things in life are free!");
Gebruik exec()
Die exec()
metode is 'n RegExp uitdrukking metode.
Dit soek 'n string vir 'n gespesifiseerde patroon, en gee die gevind teks as 'n voorwerp terug.
As geen passing gevind word nie, gee dit 'n leë (nul) voorwerp terug.
Die volgende voorbeeld soek 'n string vir die karakter "e":
Voorbeeld
/e/.exec("The best things in life are free!");
Voltooi RegExp-verwysing
Vir 'n volledige verwysing, gaan na ons Volledige JavaScript RegExp-verwysing .
Die verwysing bevat beskrywings en voorbeelde van alle RegExp eienskappe en metodes.