Portal > Foren > PHP > PHP-Programmierung > frage zu preg_match
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 30.04.2007, 17:34 Nach oben    #1
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard frage zu preg_match

und zwar habe ich einen string der immer nach folgendem muster aufgebaut ist

Zitat:
Folgende Einheiten standen sich am 25.04.2007 22:01:09 gegenüber:
Angreifer - Pai Mei (225:45:12) Verteidiger - AedO (274:26:10)
S:17 W:17 M:18 S:02 W:04 M:02
6 Spionagesonde

46 Frachtschiff SL-5
15 Frachtschiff SL-25
48 Kriegsschiff X320
200 Kriegsschiff X832
63 Zerstörer
5 Spionagesonde

Runde 1

Der Angreifer schiesst 0 mal mit einer Gesamtstärke von 0
Die Schilde absorbierten 0 und konnten sich auf 100.00% regenerieren.
Der Verteidiger erleidet einen Schaden von 0

Der Verteidiger schiesst 12 mal mit einer Gesamtstärke von 1008
Die Schilde absorbierten 0 und konnten sich auf 100.00% regenerieren.
Der Angreifer erleidet einen Schaden von 1008

Angreifer: Verteidiger:

46 Frachtschiff SL-5
15 Frachtschiff SL-25
48 Kriegsschiff X320
200 Kriegsschiff X832
63 Zerstörer
5 Spionagesonde
Abschlußbericht:
Metall Kristall Gesamt
Verluste Angreifer: 0 6000 6000
Verluste Verteidiger: 0 0 0
Im Orbit sammelten sich: 0 2100 2100
Der Verteidiger hat die Schlacht gewonnen!

ca. 70% der Verteidigungsanlagen konnten repariert werden.
mich interresiert allerdings nur das fett gedruckte
jetzt habe ich mir folgendes als regex ausgedacht:
PHP-Code:
$regex "/Verluste\s+Angreifer:\s+\\d\s+\d\s+\d/"
leider liefert er mir da keine ergebnisse zurück
weiß jmd was ich falsch gemacht habe (die zahlen sind variabel ansonsten is das relativ gleich)
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2007, 19:18 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Code:
Verluste Angreifer:\s\d\s\d+\s\d+
vielleicht so ...
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2007, 19:37 Nach oben    #3
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

naja hab bisschen rumgebastelt und es ist folgendes ruasgekommen:
PHP-Code:
$regex "/Verluste\s+Angreifer:(\s*)(\d*)(\s*)(\d*)(\s*)(\d*)(\s*)/"
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2007, 19:43 Nach oben    #4
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 244
Standard

Verbesserungswürdig.

Dich interessieren am Ende nur die 3 Werte, richtig?

Ein * ist hier nicht vernünftig, da es auch kein Zeichen matcht. Das \s am Ende kannst du weglassen, und dann nur die Zahlen in Subpattern fassen.

Code:
Verluste\s+Angreifer:\s+(\d+)\s+(\d+)\s+(\d+)
Eventuell beim zweiten \s ein * statt +:
Code:
Verluste\s+Angreifer:\s*(\d+)\s+(\d+)\s+(\d+)
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2007, 21:05 Nach oben    #5
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

ja cih hatte es erst mit \d+ aber da funktionierte es nicht
auserdem habe ich es jetzt noch erweitert auf ide werte unterhalb
aber das passt schon
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.04.2007, 21:22 Nach oben    #6
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

Zitat:
46 Frachtschiff SL-5
15 Frachtschiff SL-25
48 Kriegsschiff X320
200 Kriegsschiff X832
63 Zerstörer
5 Spionagesonde
gibt es eine Möglichkeit
solch ein Konstrukt zusammenzufassen
es ist Variabel also ich wieß nciht was da steht sondern es darf aus Buchstaben lehrzeichen und zahlen bestehen...
PHP-Code:
S:(d+)sW:(d+)sM:(d+)s+([a-zA-Z0-9söäü-]*) 
allerdings nimmt er da zuviel...kann cihdas irgendwie einschränken...z.B. das er nur solange suchen soll bis er 5 leerzeichen bzw ein tab gefunden hat oder so!?

Geändert von kampfgnom (30.04.2007 um 21:28 Uhr)
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2007, 17:17 Nach oben    #7
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 244
Standard

Da es ja so aussieht, dass bei dir alles in einer einzelnen Zeile steht, und du nur die entsprechenden Zeilen extrahieren möchstest wäre vielleicht so etwas angebracht:
Code:
^\d+\s+.*$
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2007, 18:07 Nach oben    #8
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Zitat:
gibt es eine Möglichkeit
solch ein Konstrukt zusammenzufassen
http://www.regex-tester.de/regex4_20070501180646
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.05.2007, 18:32 Nach oben    #9
Gabriel
 
Registriert seit: 27.09.2006
Ort: Radebeul
Beiträge: 433
Standard

ok thx
kampfgnom ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
indireckte Frage zu Template system kampfgnom PHP-Programmierung 4 04.06.2007 04:12
Frage zu Aufklapp-Menü mit CSS Hobbyuser HTML, XML und CSS 8 12.08.2006 18:41
Java Programm - Code Frage (Problem) Finki Allgemeine Java-Programmierung 16 23.10.2005 12:36
NOOB FRAGE: Fenster bei Buttondruck Muluf Allgemeine Java-Programmierung 2 21.06.2005 15:06
eine Frage über String punachino Allgemeine Java-Programmierung 6 19.05.2005 01:14


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45