Reguläre Ausdrücke, auch bekannt als Regex, sind eine Methode, um Muster in Texten zu finden. Sie sind sehr nützlich für die Eingabevalidierung, das Suchen & Ersetzen von Text und das Extrahieren von Informationen aus Texten.
In Node.js verwendet man die eingebaute RegExp-Klasse, um mit regulären Ausdrücken zu arbeiten. Hier ist, wie Sie es verwenden können:
1. Erstellung eines regulären Ausdrucks:
```javascript
let regex = new RegExp(‘abc’); // findet alle ‘abc’ in einem String
//oder
let regex = /abc/; // findet ebenfalls alle ‘abc’ in einem String
```
2. Verwendung eines regulären Ausdrucks:
```javascript
let str = ‘abcdefghijklmnopqrstuvwxyz’;
// test() Methode: überprüft, ob das Muster im String vorkommt.
let result = regex.test(str);
console.log(result); // gibt true aus
// exec() Methode: gibt ein Array mit Informationen über das Benchmark und seine Position zurück.
result = regex.exec(str);
console.log(result);
/* gibt folgendes aus:
[
‘abc’,
index: 0,
input: ‘abcdefghijklmnopqrstuvwxyz’,
groups: undefined
]
*/
```
3. Spezielle Zeichen in regulären Ausdrücken:
- .^$*+?()[]{}| sind spezielle Zeichen in regulären Ausdrücken. Wenn Sie nach diesen Zeichen suchen möchten, dann müssen Sie einen Backslash (\\) voranstellen.
```javascript
let regex = /\$/; // findet alle Dollarzeichen ($) in einem String
```
4. Flaggen in regulären Ausdrücken:
- g (global): sucht das Muster überall im String.
- i (ignoreCase): ignoriert Groß- und Kleinschreibung.
- m (multiline): sucht das Muster auch über mehrere Zeilen hinweg.
```javascript
let regex = /abc/gi; // findet alle ‘abc’, ‘ABC’, ‘aBc’, etc. in einem String
```
5. Weiterführende Reguläre Ausdrücke:
- \d steht für jedes Ziffernzeichen (0-9).
- \w steht für jeglichen Alphanumerischen Charakter (einschließlich Unterstrich).
- \s steht für jedes Leerzeichen (einschließlich Tabulatoren und Zeilenumbrüche).
- . (Punkt) steht für jedes Zeichen außer Zeilenumbruch.
```javascript
let regex = /\d/g; // findet alle Ziffern in einem String
let regex = /\w/g; // findet alle alphanumerischen Zeichen in einem String
let regex = /\s/g; // findet alle Leerzeichen in einem String
let regex = /./g; // findet alle Zeichen in einem String
```