ADAC OnlineShop Newsletteranmeldung
 
Zurück   klamm-Forum > Virtual World > Programmierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25.08.2011, 01:01:24   #1 (permalink)
Multitalent
Benutzerbild von joschilein

ID: 9301
Lose-Remote

joschilein eine Nachricht über ICQ schicken
Reg: 05.05.2006
Beiträge: 1.414
joschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehen
Standard [Regex] Repeating Groups

Ich muss irgendeine Kleinigkeit übersehen...

Mein Pattern sieht momentan so aus:
Code:
1:
;^(?:([0-9]{1,2})\.)*([0-9]{1,2})$;
Damit sollen z.B. folgende Strings gefangen werden
Code:
1:
2:
3:
4:
5:
6:
1 1.2 1.2.3 1.2.3.4 1.2.3.4.5 ...
Man könnte es mit Auslesen der Gruppen aus IPs vergleichen, wobei dort natürlich 4 Gruppen à 1-3 Ziffern bekannt sind. Bei meinem Problem ist die Länge eben nicht genau bekannt.

Leider bekomme ich immer nur die letzten 2 Gruppen. Habe ich irgendeinen Modifier übersehen? Habe mir zwar auf regular-expressions.info schon so ziemlich alles durchgelesen, aber ich komme leider nicht weiter.


Heute schon gepixelt
joschilein ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 25.08.2011, 01:37:15   #2 (permalink)
CB-Webhosting.de
Benutzerbild von thrown-out

ID: 124847
Lose-Remote

thrown-out eine Nachricht über ICQ schicken thrown-out eine Nachricht über AIM schicken thrown-out eine Nachricht über Skype™ schicken
Reg: 23.05.2006
Beiträge: 704
thrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblickthrown-out ist ein wunderbarer Anblick
Standard

afaik geht das so nicht, da immer nur der letzte match der gruppe zurückgegeben wird.

je nach dem, was du vor hast, würde ich entweder den kompletten string matchen und dann nach dem punkt exploden, oder mit preg_split arbeiten.
thrown-out ist offline   Mit Zitat antworten
Alt 25.08.2011, 07:02:48   #3 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Im Manual hab ich noch das gefunden:
http://de2.php.net/manual/de/regexp.....recursive.php
Guck mal durch, ob das was hilft oder Erklärungen liefert. Hatte jetzt nicht die Zeit, alles durchzulesen.

Ansonsten würd ich an deiner Stelle auch erst Match machen und dann am Punkt nachträglich explode()n.
theHacker ist offline   Mit Zitat antworten
Alt 25.08.2011, 09:57:00   #4 (permalink)
Multitalent
Benutzerbild von joschilein

ID: 9301
Lose-Remote

joschilein eine Nachricht über ICQ schicken
Reg: 05.05.2006
Beiträge: 1.414
joschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehenjoschilein genießt hohes Ansehen
Standard

Hmm irgendwie dachte ich mal gelesen zu haben, dass das in Regex problemlos geht bzw. dass man aufpassen sollte dass das nicht unbeabsichtigt passiert.

Meine Intention war anstatt großer wiederholender if oder case-Blöcke für verschiedene Eingabeformate einfach nur ein kleines Array incl. Regex zu erstellen, was sich übersichtlich erweitern lässt, um dann nur eine einzige Verarbeitungsschleife zu benötigen. Aber eigentlich könnte ich darin wirklich auch nur das jeweilige Trennzeichen, eine Bedeutungsreihenfolge für die Interpretierung hinterlegen (hatte ich jetzt bei den anderen Formaten bei fester Länge mit named groups gemacht) und mit explode arbeiten.


Heute schon gepixelt
joschilein ist offline Threadstarter   Mit Zitat antworten
Alt 25.08.2011, 11:13:52   #5 (permalink)
return void
Benutzerbild von ice-breaker

ID: 93995
Lose-Remote

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.026
ice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehenice-breaker genießt hohes Ansehen
Standard

setz mal den gesammten Inhalts des RegExp nochmal in Klammern


"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici
ice-breaker ist gerade online   Mit Zitat antworten
Alt 25.08.2011, 12:03:04   #6 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Zitat:
Zitat von ice-breaker Beitrag anzeigen
setz mal den gesammten Inhalts des RegExp nochmal in Klammern
Dann kannste doch auch direkt $match[0] nehmen.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Java] Regex: Wortsuche WhiZZler Programmierung 3 25.07.2011 20:53:06
[Gelöst][REGEX/PHP] Regex für "BB-Tags" Sebmaster Programmierung 2 07.04.2009 12:00:02
[PHP] RegEx Vergleichsoperatoren NagathoR Programmierung 3 23.11.2007 11:14:47
[RegEx] So ok - Verbesserungen? flaschenkind Programmierung 13 08.01.2007 20:26:29
[Regex] Problem chrissel Programmierung 5 01.12.2006 23:44:50


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19:32 Uhr.