Een reguliere expressie (regex) is een reeks tekens die een zoekpatroon definiëren. Zo schrijft u reguliere expressies:
- Begin met het begrijpen van de speciale tekens die in regex worden gebruikt, zoals ., *, +, ? en meer.
- Kies een programmeertaal of tool die regex ondersteunt, zoals Python, Perl of grep.
- Schrijf uw patroon met behulp van de speciale tekens en letterlijke tekens.
- Gebruik de juiste functie of methode om het patroon in een string te zoeken.
Voorbeelden:
- Om een reeks letterlijke tekens met elkaar te matchen, schrijft u die tekens eenvoudigweg in het patroon.
- Om een enkel teken uit een reeks mogelijkheden te matchen, gebruikt u vierkante haakjes, b.v. [0123456789] komt overeen met elk cijfer.
- Om nul of meer exemplaren van de voorgaande uitdrukking te matchen, gebruikt u het sterretje (*).
- Om een of meer exemplaren van de voorgaande uitdrukking te matchen, gebruikt u het plusteken (+).
- Het is belangrijk op te merken dat regex complex en moeilijk te lezen kan zijn, dus het wordt aanbevolen om tools zoals regex-testers te gebruiken om uw patronen te debuggen en te optimaliseren.
Een reguliere expressie (ook wel een rationele expressie genoemd) is een reeks tekens die een zoekpatroon definiëren, voornamelijk voor gebruik bij het matchen van patronen met tekenreeksen, of het matchen van tekenreeksen, dat wil zeggen zoek- en vervangachtige bewerkingen. Reguliere expressies zijn een algemene manier om patronen te matchen met reeksen tekens. Het wordt gebruikt in elke programmeertaal zoals C++, Java en Python.
Wat is een reguliere expressie en wat maakt deze zo belangrijk?
Regex wordt gebruikt Google Analytics in URL-matching bij het ondersteunen van zoeken en vervangen in de meeste populaire editors zoals Sublime, Notepad++, Brackets, Google Docs en Microsoft Word.
Example : Regular expression for an email address : ^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$> De bovenstaande reguliere expressie kan worden gebruikt om te controleren of een bepaalde reeks tekens een e-mailadres is of niet.
Hoe schrijf je reguliere expressies?
Er zijn bepaalde elementen die worden gebruikt om reguliere expressies te schrijven, zoals hieronder vermeld:
1. Repeaters ( *, + en { } )
Deze symbolen fungeren als repeaters en vertellen de computer dat het voorgaande teken meer dan één keer moet worden gebruikt.
2. Het asterisk-symbool (*)
Het vertelt de computer om het voorgaande teken (of de reeks tekens) 0 of vaker (tot oneindig) te matchen.
Example : The regular expression ab*c will give ac, abc, abbc, abbbc….and so on>
3. Het plusteken (+)
Het vertelt de computer om het voorgaande teken (of de reeks tekens) minstens één of meerdere keren te herhalen (tot oneindig).
Example : The regular expression ab+c will give abc, abbc, abbbc, … and so on.>
4. De accolades { … }
Het vertelt de computer dat het voorgaande teken (of reeks tekens) net zo vaak moet worden herhaald als de waarde binnen dit haakje.
Example : {2} means that the preceding character is to be repeated 2 times, {min,} means the preceding character is matches min or more times. {min,max} means that the preceding character is repeated at least min & at most max times.> 5. Jokerteken ( . )
Het puntsymbool kan de plaats innemen van elk ander symbool, daarom wordt het het jokerteken genoemd.
Example : The Regular expression .* will tell the computer that any character can be used any number of times.>
6. Optioneel teken (?)
Dit symbool vertelt de computer dat het voorgaande teken al dan niet aanwezig kan zijn in de te matchen string.
Example : We may write the format for document file as – docx? The ‘?’ tells the computer that x may or may not be present in the name of file format.>
7. Het dakje ( ^ )-symbool ( Positie instellen voor de wedstrijd)
Het dakje-symbool vertelt de computer dat de wedstrijd aan het begin van de reeks of regel moet beginnen.
cobol-programmering
Example : ^d{3} will match with patterns like '901' in '901-333-'.> 8. Het dollarteken ($)
Het vertelt de computer dat de overeenkomst aan het einde van de string moet plaatsvinden of vóór aan het einde van de regel of string.
Example : -d{3}$ will match with patterns like '-333' in '-901-333'.> 9. Karakterklassen
Een karakterklasse komt overeen met elk van een reeks karakters. Het wordt gebruikt om het meest fundamentele element van een taal te matchen, zoals een letter, een cijfer, een spatie, een symbool, enz.
S : komt overeen met alle witruimtetekens, zoals spatie en tab.
S : komt overeen met alle niet-witruimtetekens.
D : komt overeen met elk cijferteken.
D: komt overeen met alle niet-cijferige tekens.
In : komt overeen met elk woordteken (in principe alfanumeriek)
IN : komt overeen met elk niet-woordteken.
B : komt overeen met elke woordgrens (dit omvat spaties, streepjes, komma's, puntkomma's, enz.
[set_of_characters]: Komt overeen met elk afzonderlijk teken in set_of_characters. Standaard is de overeenkomst hoofdlettergevoelig.
Example : [abc] will match characters a,b and c in any string.>
10. [^set_of_characters] Negatie:
Komt overeen met elk afzonderlijk teken dat niet in set_of_characters voorkomt. Standaard is de overeenkomst hoofdlettergevoelig.
Example : [^abc] will match any character except a,b,c .>
11. [eerste-laatste] Karakterbereik:
Komt overeen met elk afzonderlijk teken in het bereik van het eerste tot het laatste.
Example : [a-zA-z] will match any character from a to z or A to Z.>
12. Het ontsnappingssymbool ( )
Als je wilt matchen met de daadwerkelijke ‘+’, ‘.’ etc. tekens, voeg dan een backslash( ) toe vóór dat teken. Hierdoor wordt de computer verteld het volgende teken als zoekteken te behandelen en te beschouwen als een overeenkomend patroon.
Example : d+[+-x*]d+ will match patterns like '2+2' and '3*9' in '(2+2) * 3*9'.>
13. Tekens groeperen ( )
Een reeks verschillende symbolen van een reguliere expressie kan worden gegroepeerd om als een enkele eenheid te fungeren en zich als een blok te gedragen. Hiervoor moet u de reguliere expressie tussen haakjes( ) plaatsen.
Example : ([A-Z]w+) contains two different elements of the regular expression combined together. This expression will match any pattern containing uppercase letter followed by any character.>
14. Verticale balk ( | )
Komt overeen met elk element, gescheiden door het verticale streepje (|).
Example : th(e|is|at) will match words - the, this and that.>
15. ummer
Terugreferentie: maakt het mogelijk dat een eerder overeenkomende subexpressie (expressie vastgelegd of tussen ronde haakjes geplaatst) vervolgens in dezelfde reguliere expressie kan worden geïdentificeerd. betekent dat de groep binnen het n-de haakje wordt herhaald op de huidige positie.
Example : ([a-z])1 will match ee in Geek because the character at second position is same as character at position 1 of the match.>
16. Hoe ( ?# commentaar )
Inline commentaar: het commentaar eindigt bij het eerste haakje sluiten.
npm schone cache
Example : A(?#This is an inline comment)w+>
17. # [tot einde regel]
X-modus commentaar. De opmerking begint met een # zonder escapecodes en loopt door tot het einde van de regel.
Example : (?x)Aw+#Matches words starting with A>