| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

26-04-2009, 12:43
|
|
Onyxagargaryll
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
|
|
[REGEX] Teilstring finden
Hallo, da bin ich wieder
Und sogleich am nächsten Problem hängen geblieben. Dabei handelt es sich um folgenden Fall:
PHP-Code:
$overrides['Number'] = 612;
$map = '612:2;613:2;614:2';
preg_match('/'.$overrides['Number'].'.*;/',$map,$tmpresults);
print_r($tmpresults);
Regex peil ich leider überhaupt nicht. Darum bin ich hier sehr froh um ein wenig Hilfe ^^
Gewünschtes $tmpresults[0]: '612:2;'
Aber komischerweise gibt er jetzt '612:2;613:2;' aus.
Danke im Voraus
Onyx
PS: Wenn man mir kurz sagen könnte, warum die jetztige Ausgabe so zustanden kommt, gibt's doppelte Punkte ^^
|

26-04-2009, 13:19
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Klar, das Pattern ist immer gierig, das heißt es nimmt so viel es kriegt.
Informiere dich über den Modifier U (ungreedy).
Der findet eigentlich in jedem RegEx-Tutorial Erwähnung. Auch in unserem.
|

26-04-2009, 13:59
|
|
Onyxagargaryll
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
|
|
Ah! Ich habs geschafft ^^
PHP-Code:
$overrides['Number'] = 612;
$map = '612:2;613:2;614:2';
preg_match('/'.$overrides['Number'].'.*?;/',$map,$tmpresults);
print_r($tmpresults);
Nur das '?' fehlte
Danke vielmals!
Gruss
Onyx
|

26-04-2009, 15:01
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Naja, auch wenn das nicht wirklich das ausdrückt, was du eigentlich definieren willst.
Was du jedenfalls nicht berücksichtigst ist die 614!
Korrekterweise würde man eine Zeichenklasse vo 0-9 (evtl mit Angabe der Länge) definieren, gefolgt von einem Doppelpunkt und einer weiteren Zeichenklasse von 0-9 (erneut ggf. mit Angabe der Länge). Das Semikolon ist jedenfalls kein Aussagekräftiges Kriterium, da es nicht zwangsläufig vorhanden sein muss.
|

26-04-2009, 15:11
|
|
Onyxagargaryll
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
|
|
Ja, das ist mir aufgefallen, und darum habe ich das ganze fix so geändert, dass ein Semikolon zwingend vorhanden sein muss
Aber gutes Auge! Und trotzdem Danke für den Hinweis!
Gruss
Onyx
|

26-04-2009, 15:34
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Ja, das ist mir aufgefallen, und darum habe ich das ganze fix so geändert, dass ein Semikolon zwingend vorhanden sein muss
|
Autsch, was ist denn heute los? Haben wir hier Programmierer on Board, oder nur irgendwelche Symptombekämpfer...
Noch dazu wo ich dir die Lösung schon gepostet habe!
|

26-04-2009, 15:41
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
@ts
hier wirds auch noch mal erklärt.
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

26-04-2009, 18:36
|
|
Onyxagargaryll
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Ort: Schweiz
Beiträge: 239
|
|
Hehe ^^
Ich werde mir mal einige Regex-Tutorials im Verlauf der nächsten Woche zur Gemüte führen, damit ich nicht mehr als Symptombekämpfer dastehe 
(und wenn ich eine bessere Lösung habe ändere ichs wieder fix zurück :P)
Danke für eure Hilfe
Gruss
Onyx
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|