System Konfiguration RegEx
Beschreibung
Bei der Konfiguration des LocaPhone VoIP TK-Systems werden reguläre Ausdrücke (Englisch: Regular Expression, RegEx) zur Formatierung von Mustern für Rufnummern verwendet.
Formulierung von Suchen- und Ersetzen-Mustern
- Bei eingehenden oder ausgehenden Anrufen wird in Rufnummern nach Entsprechungen des Suchmusters gesucht, und gefundene Stellen werden durch andere ersetzt. Damit wird definiert, wie Rufnummern übermittelt werden, bzw. wie übermittelte Rufnummern angezeigt und für einen Rückruf genutzt werden.
- Definition von Mustern für Rufnummern, für die bestimmte Regeln gelten sollen, z. B. für die besondere Berechtigungen vergeben werden sollen oder die zu bestimmten Zeiten umgeleitet werden sollen.
Es gibt verschiedene "Sprachen" für reguläre Ausdrücke, für die umfangreiche Syntax-Regeln definiert sind. Die LocaPhone verwendet die 'Perl Compatible Syntax Expression' (PCRE).
Formate
Regulärer Ausdruck | Beschreibung |
---|---|
. | ein beliebiges Zeichen |
\d | eine beliebige Ziffer |
\D | ein beliebiges Zeichen, außer Ziffern |
* | das davor stehende Element darf beliebig oft vorkommen |
? | das davor stehende Element kann vorkommen, muss aber nicht |
+ | das davor stehende Element muss mindestens einmal vorkommen |
^(Muster) | sucht den in Muster definierten Ausdruck ab Beginn der Zeichenfolge Beispiel: ^(.*) = findet jede beliebige Rufnummer ^= Anfang der Zeichenfolge, . = beliebiges Zeichen, * = in beliebiger Anzahl |
| | Aneinanderreihung von Alternativen Beispiel: 0049|0 = entweder 0049 oder 0 |
( ) runde Klammern | Gruppierung von Suchmustern, wenn mehrere Ausdrücke aneinander gereiht oder geschachtelt werden. Die Auflösung erfolgt von innen nach außen. Beispiel: (((0049|0)89)3450) steht für 0049893450 oder 0893450 Gefundene Übereinstimmungen von Gruppierungen werden gespeichert und können für die Ersetzung wiederverwendet werden (Rückwärtsreferenz). Eine Gruppierung wird mit $n referenziert, wobei n der Position der Gruppierung im gesamten Ausdruck entspricht. Beispiel für ausgehende Anrufe: Suchmuster ^(.*), Ersetzmuster 0$1 = jeder beliebigen Rufnummer wird eine 0 vorangestellt |
?:(Muster) | Gruppierungen, die keine Rückwärtsreferenz erzeugen Beispiel: (?:(?:0049|0)89)?3450 Muster identisch zu letztem Muster, es ist jedoch keine Referenzierung möglich |
[ ] eckige Klammern | Alternativen; einer der in der Klammer stehenden Zeichen muss im String enthalten sein Beispiel: [0-9][a-z] steht für genau ein Zeichen von 0 bis 9 und ein Zeichen von a-z, z. B. 3a, 5c, 9z... Groß-Kleinschreibung wird unterschieden. |
{ } geschweifte Klammer | {minimale, maximale} Anzahl an Zeichen Beispiel: [1-9][0-9]{1,4} steht für mindestens eine, maximal vier Ziffern; die erste Ziffer darf keine 0 sein. |
\ Entwertung | Enthält der String ein Zeichen, das auch als Meta-Zeichen für reguläre Ausdrücke verwendet wird, müssen Sie dieses durch einen vorangestellten Gegenschrägstrich \ entwerten. Folgende Zeichen müssen entwertet werden: ^ $ ( ) < > | { [ . * + ? \ |
Zusätzliche Informationen
- Perl regular expressions - https://perldoc.perl.org/perlre.html
- regular expressions 101 - https://regex101.com/
- RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp) - https://regexr.com/