Inleiding tot reguliere expressies in JavaScript
Reguliere expressies zijn een reeks tekens die worden gebruikt om de inhoud van een andere reeks te valideren. Deze tekenreeksen die de reguliere expressie vormen, worden opgeslagen in een object.
Syntaxis
var regEx = /^(A-Za-z)/;
Hier bevat het variabele object genaamd "regEx" het reguliere expressiepatroon. Laten we nu testen of een andere string overeenkomt met deze reguliere expressie.
Code
var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);
Output:
waar
Hier in het bovenstaande voorbeeld controleert de reguliere expressie of een tekenreeks alleen alfabetten A tot Z bevat in zowel hoofdletters als kleine letters. Als dit het geval is, retourneert het "waar", zo niet "onwaar".
Reguliere expressie-syntaxis in JavaScript
Een reguliere expressie bestaat uit twee delen. Het eerste deel is het patroon, gevolgd door een optionele vlag.
Syntaxis
var regEx = /pattern/flag
Vlaggen worden ook modifiers genoemd. Er zijn maar weinig veelgebruikte optionele vlaggen
-
g - wereldwijd
Vindt meerdere wedstrijden. Indien niet gebruikt stopt na de eerste wedstrijd.
Code
var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );
Output:
scream, scream, scream // Het geeft alle overeenkomsten in de string terug.
-
i - geval negeren
Dit is hoofdlettergevoelig en komt overeen met zowel hoofdletters als kleine letters. Indien niet ingesteld, is de zoekopdracht hoofdlettergevoelig.
Code
var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );
Output:
6 // geeft de index terug waarbij de string wordt gevonden.
alert (str.search (/ educba /)); // zonder globale vlag
Output:
-1
-
m - meerdere regels
Beïnvloedt het gedrag van tekens en $. In het geval van meerdere regels zoekt het naar overeenkomsten aan het begin en einde van elke regel in plaats van die van de hele reeks. Als het niet in de modus met meerdere regels staat, worden alleen de overeenkomsten van de hele reeks geretourneerd.
Code
var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );
Output:
Ik, jij, wij // drukt het eerste woord van elke regel af.
Laten we nu eens kijken naar de patronen in de reguliere expressie. Patroon bestaat uit bereiken, metatekens, kwantificeringen, enz.
Metatekens van reguliere expressies in JavaScript
De metatekens vormen de basis van het reguliere expressiepatroon. Dit zijn een combinatie van achterwaartse schuine strepen met een alfabetisch teken dat samen een metateken vormt en elk ervan heeft een speciale betekenis die aan elk van hen is gekoppeld. "\ N" geeft bijvoorbeeld een nieuwe regel aan. Een paar andere voorbeelden van metatekens zijn.
- \ t - gebruikt om een tab-teken te vinden.
- \ v - gebruikt om een verticaal tab-teken te vinden.
- \ s - gebruikt om witruimte-tekens te vinden.
- \ S - gebruikt om niet-witruimte-tekens te vinden.
- \ d - gebruikt om numerieke cijfers te vinden.
- \ D - gebruikt om non te vinden - numerieke cijfers.
- \ w - gebruikt om woorden te vinden.
- \ W - gebruikt om iets te vinden behalve woorden.
- . - een punt wordt gebruikt om een ander teken dan de nieuwe regel of het einde van de regel te vinden.
- \ 0 - gebruikt om een nul-teken te vinden.
Sets en bereiken van reguliere expressies in JavaScript
In dit scenario worden vierkante haken als onderdeel gebruikt
Syntaxis
Say, for the set (abc) – only the characters a, b and c are to be considered.
Voorbeelden 1
- (abc) - dat is een ander teken dan abc.
- (a | b) - A of b kan worden overwogen.
In het geval van bereiken wordt een bereik tussen dat bereik voorzien, alle tekens moeten worden overwogen. Bijvoorbeeld: (az) betekent dat alle tekens van a tot z in kleine letters in aanmerking worden genomen.
Voorbeelden 2
- (0-9) - alle tekens van nul tot negen.
- (AZ) - alle tekens van A tot Z in hoofdletters.
Kwantificatoren van reguliere expressies in JavaScript
Deze worden aangegeven met behulp van speciale tekens. Aan elk speciaal teken is een betekenis gekoppeld. Deze tekens worden gebruikt in combinatie met reguliere expressies. Enkele van de meest gebruikte kwantificatoren zijn:
- * - Komt overeen met een tekenreeks die nul of meer instanties bevat.
- + - Komt overeen met een tekenreeks die een of meer instanties bevat.
- ? - Komt overeen met een string die nul of één instantie bevat.
- (n) - Hier neemt “n” een nummer in. Komt overeen met de vereiste reguliere expressie het aantal keren vermeld in plaats van "n".
- $ - Komt overeen met de gegeven uitdrukking aan het einde van de string.
- - Komt overeen met de gegeven uitdrukking aan het begin van de string.
- ? = - Komt overeen met elke tekenreeks met het regex-patroon na het isgelijkteken.
- ?! - Komt overeen met elke tekenreeks die geen regex-patroon bevat na het uitroepteken.
Eigenschappen van reguliere expressies in JavaScript
Bestaat uit de volgende eigenschappen:
- Constructors - Bepaalt welke functie het prototype van het reguliere expressieobject heeft gemaakt.
- Globaal - Controleert of de vlag "g" is ingesteld.
- Case negeren - Controleert of de vlag "i" is ingesteld.
- De laatste index - Bepaalt de indexpositie vanaf waar de volgende wedstrijd moet beginnen.
- Multiline - Controleert of de vlag "m" is ingesteld.
- Bron - Geeft de tekst van het reguliere expressiepatroon.
Methoden in reguliere expressies en tekenreeksen
Veelgebruikte methoden in reguliere expressies
- exec () - Wordt uitgevoerd om te zoeken naar overeenkomsten in een tekenreeks en retourneert de eerste overeenkomst. Als er geen overeenkomst wordt gevonden, wordt null geretourneerd.
- test () - Test op overeenkomsten in een string en retourneert het resultaat in de vorm van Boolean. Dat wil zeggen dat als een overeenkomst wordt gevonden, deze waar retourneert, zo niet dan retourneert false.
- toString () - Retourneert een equivalent stringobject van de reguliere expressie.
Stringmethoden die handig zijn bij het werken met reguliere expressies
- match () - Het is een String-methode die zoekt naar een match in een string. Indien gevonden retourneert de match, zo niet dan retourneert null.
- matchAll () - Het is een String-methode die alle overeenkomsten in een string zoekt.
- split () - Het is een tekenreeksmethode die wordt gebruikt om een tekenreeks te breken op basis van de opgegeven reguliere expressie.
- search () - Het is een tekenreeksmethode die wordt gebruikt om te zoeken naar een overeenkomst met de gegeven reguliere expressie. Retourneert 0 bij succes en -1 bij mislukking.
Conclusie
Reguliere expressies kunnen worden geschreven door indien nodig gebruik te maken van verschillende combinaties van metatekens, kwantificatoren en vlaggen. Ze komen ook met hun eigen set methoden en werken ook goed met veelgebruikte stringmethoden. Men zou ze gemakkelijk kunnen gebruiken voor validatie of inhoudsbeperking volgens iemands eis.
Aanbevolen artikelen
Dit is een handleiding voor reguliere expressies in JavaScript. Hier hebben we de syntaxis van reguliere expressies in JavaScript, metatekens, sets en bereiken, kwantificeringen, eigenschappen en methoden met uitvoer besproken. U kunt ook door onze gegeven artikelen gaan voor meer informatie-
- Hoe JavaScript werkt
- Wat is JavaScript?
- Hoe JavaScript te installeren
- Inleiding tot JavaScript
- Regex-functies in Python (voorbeeld)