Reguliere expressies, ook wel regex genoemd, zijn een manier om patronen in tekst te zoeken en te manipuleren. Node.js ondersteunt volledig reguliere expressies. Hieronder wordt uitgelegd hoe u reguliere expressies kunt gebruiken in Node.js.
Om een patroon in een string te zoeken, kunt u de `test()` of `exec()` methode van de `RegExp` object gebruiken. De `test()` methode retourneert een Boolean-waarde die aangeeft of het patroon werd gevonden in de string of niet. De `exec()` methode retourneert een array met de overeenkomsten, of `null` als er geen overeenkomsten gevonden worden.
```
const re = /hello/;
const str = ‘hello world’;
console.log(re.test(str)); // Returns: true
const result = re.exec(str);
console.log(result0); // Returns: hello
```
U kunt de `replace()` methode van de String object gebruiken om tekst in een string te vervangen op basis van een reguliere expressie.
```
const re = /world/;
const str = ‘hello world’;
const newStr = str.replace(re, ‘there’);
console.log(newStr); // Returns: hello there
```
Modifiers kunnen worden gebruikt om het gedrag van de reguliere expressie te veranderen:
- `i` Maakt de zoekopdracht hoofdletterongevoelig.
- `g` Zoek naar alle overeenkomsten, niet alleen de eerste.
- `m` Maakt de zoekopdracht meerdere regels.
```
const re = /hello/gi; // Case-insensitive, global search
const str = ‘Hello world. hello world’;
console.log(str.replace(re, ‘Hi’)); // Returns: Hi world. Hi world
```
Met Regex kunt u ook specifieke patronen aangeven met behulp van groepen en bereike.
- `[]` Een bereik. Bijvoorbeeld: [a-z] zoekt naar alle kleine letters.
- `()` Sluit een groep in.
- `.` Vindt elk enkel karakter behalve nieuwe lijnen.
- `*` Vindt nul of meer van het voorgaande item.
- `+` Vindt een of meer van het voorgaande item.
- `?` Vindt precies nul of één van het voorgaande item.
- `{n}` Vindt precies n exemplaren van het voorgaande item.
```
const re = /h[a-z]*o/g;
const str = ‘hello world. hi world. h3llo world’;
console.log(str.match(re)); // Returns: [‘hello’, ‘ho’]
```