REGEX()

REGEX("Ausdruck" String)

Gibt 1 zurück, wenn ein String auf einen regulären Ausdruck passt, sonst 0. Der reguläre Ausdruck kann auch ^ (passt auf den Anfang) und $ (passt auf das Ende) enthalten. Variablen werden vorher ausgewertet.

Der Parser in Asterisk 1.2 arbeitet nicht sauber und kann durch besondere Zeichen wie $ oder geschweifte Klammern im Ausdruck verwirrt werden. Als Workaround definiert man sich z.B. eine Variable ${dollar} mit dem Inhalt "$" und verwendet diese statt des $-Zeichens.

; prüfen, ob der Ausdruck "[abc][0-9]" auf den String "b3" passt:
exten => 123,1,Set(foo=${REGEX("[abc][0-9]" b3)})   ; gibt 1 zurück

; prüfen, ob ${str} mit 0 endet, Asterisk 1.4:
exten => 123,1,Set(foo=${REGEX("0$" ${str})})

; in Asterisk 1.2 behilft man sich so:
exten => 123,1,Set(foo=${REGEX("0${dollar}" ${str})})
[Anmerkung]Anmerkung

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about function 'REGEX' =- 

[Syntax]
REGEX("<regular expression>" <data>)

[Synopsis]
Regular Expression

[Description]
Returns 1 if data matches regular expression, or 0 otherwise.
Please note that the space following the double quotes separating the regex from the data
is optional and if present, is skipped. If a space is desired at the beginning of the data,
then put two spaces there; the second will not be skipped.

Differenz zum internen Hilfetext in Asterisk 1.2: 

-- in Version 1.2 nicht vorhanden --

Version 1.2, November 2002

Neue Version verfügbar

Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org

Das gedruckte Buch