"Matchen" von gesuchten Strings

Ruad

Mitglied
Mitglied seit
27 Jul 2005
Beiträge
295
Punkte für Reaktionen
0
Punkte
0
Angenommen ich hab eine Variable

Code:
xyz = 62-horst-72-apfel-60
und möchte überprüfen, ob es ein Vorkommen von
Code:
72
in xyz gibt. Laut Voip-info.org scheint es dafür eine Funktion zu geben.

Voip-Info.org schrieb:
Regular expressions

expr1 : regexp
o The ':' operator matches expr1 against regexp, which must be a regular expression. The regular expression is anchored to the beginning of the string with an implicit '^'.
o If the match succeeds and regexp contains at least one regular expression subexpression '\(...\)', the string corresponding to '\1' is returned; otherwise the result returned is the number of characters matched. If the match fails and regexp contains a regular expression subexpression, the null string is returned; otherwise 0.

Aber ich muss gestehen, dass in diesem Fall mein Englisch an diesen Sätzen scheitert, wie ich es anzuwenden habe.

Was kommt in den drei Fällen als Ergebnis zurück?
Code:
72:${xyz}
walter:${xyz}
apf:${xyz}

Wäre nett, wenn mir da jemand auf die Sprünge helfen könnte :)
 
Ruad schrieb:
Wäre nett, wenn mir da jemand auf die Sprünge helfen könnte :)

trampolin_detail.jpg

Boah - es ist viel zu warm, um sich mit String-Matching zu beschäftigen.
Um Deine Beispiele zu beantworten:

- 2
- 0 bzw '' (leerer String)
- 3

Grundsätzlich kannst Du davon ausgehen, daß beim Finden des Suchstrings ein Wert != 0 zurückgegeben wird.

<OT>
PS: ab nächstem Wochenende machen die Besenwirtschaften wieder auf :wink:
</OT>
 
Danke fürs Trampolin :silly:

Also verstehe ich richtig, dass beim ":" die Anzahl der größten Übereinstimmung zurückgegeben wird?

Ein
Code:
horli:${xyz}
hätte also 3 zurückgegeben?
Und was gibt ein
Code:
vaterhorst:${xyz}
zurück? 0 oder 5?

P.S.: Wie lange? Die nächsten drei Wochenenden bin ich on the road. Ist bald mal wieder ein Feiertag? :)
 
Die beiden Beispiele würden beide ein "nicht gefunden" - also 0 - zurückgeben.

Probier es doch einfach im Dialplan aus, indem Du den Match mal in ein NoOp() packst.

Besenwirtschaft 1: vom 28.07. - 03.09.
Besenwirtschaft 2: vom 04.08. - 17.09.
 
betateilchen schrieb:
Probier es doch einfach im Dialplan aus, indem Du den Match mal in ein NoOp() packst.

Very schlau Idea. Auf sowas kommt man natürlich nur mit Klimaanlage und nicht in einer überhauptnicht isolierten Dachwohnung. :???:

Beide Besenwirtschaften sind sehr überlappend. Da ließe sich ja bei beiden was im späten August machen. :)

P.S.: Flammkuchen.. mhh.. ich tue einiges für guten Flammkuchen. leckerschmecker..
 
Kostenlos!

Statistik des Forums

Themen
248,864
Beiträge
2,303,174
Mitglieder
378,518
Neuestes Mitglied
koenig79