php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.02.2005, 21:33  
Gast
 
Beiträge: n/a
Standard Posix Regular Expression Problem

Hi!
Also ich habe folgenden String:
Code:
%testi: fsgfhs;%test::test;
und folgendes Pattern:
Code:
%(.[^:]*):(.[^:;]*);
Doch findet die Regex auch:
Code:
%test::test;
was ich ja durch:
Code:
[^:;]
verhindern will.

Naja nach Stunden der Ratlosigkeit, benötige ich jetzt eure Hilfe, da ich einfach nicht weiterkomme (das Pattern ist für mich logisch, funktioniert aber nicht).
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.02.2005, 21:44  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

also der Regex
Code:
|%(.[^:]*):(.[^:;]*);|
(du hast die delimiter vergessen)
findet in dem string
Code:
%testi: fsgfhs;%test::test;
2 teilstrings
Ausgabe meines (von mir hochgelobten Regextesters
Code:
Matches  2 matches.  
Match 0  %testi: fsgfhs;  
Submatch 1 of Match 0  testi  
Submatch 2 of Match 0  fsgfhs  
Match 1  %test::test;  
Submatch 1 of Match 1  test  
Submatch 2 of Match 1  :test


ach was solls ich sach dir die lösung einfach:
wenn du schon den punkt benutzt, was sollen dann die klammern da?
. = irgendein zeichen
[^:;] = alle zeichen außer : und ;
was sol da also der punkt?

Code:
|%([^:]*):([^:;]*);|
erzeugt volgende ausgabe:
Code:
Matches  1 match.  
Match 0  %testi: fsgfhs;  
Submatch 1 of Match 0  testi  
Submatch 2 of Match 0  fsgfhs
ach ja wenn meine "werbung" dich neugirig gemacht hat: http://buhmann.bu.funpic.de/krams/regex.php

da kannste regex schön komfortabel testen
Buhmann ist offline  
Alt 14.02.2005, 22:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Buhmann
also der Regex
Code:
|%(.[^:]*):(.[^:;]*);|
(du hast die delimiter vergessen)
findet in dem string
Code:
%testi: fsgfhs;%test::test;
2 teilstrings
Ausgabe meines (von mir hochgelobten Regextesters
Code:
Matches  2 matches.  
Match 0  %testi: fsgfhs;  
Submatch 1 of Match 0  testi  
Submatch 2 of Match 0  fsgfhs  
Match 1  %test::test;  
Submatch 1 of Match 1  test  
Submatch 2 of Match 1  :test
ach was solls ich sach dir die lösung einfach:
wenn du schon den punkt benutzt, was sollen dann die klammern da?
. = irgendein zeichen
[^:;] = alle zeichen außer : und ;
was sol da also der punkt?

Code:
|%([^:]*):([^:;]*);|
erzeugt volgende ausgabe:
Code:
Matches  1 match.  
Match 0  %testi: fsgfhs;  
Submatch 1 of Match 0  testi  
Submatch 2 of Match 0  fsgfhs
ach ja wenn meine "werbung" dich neugirig gemacht hat: http://buhmann.bu.funpic.de/krams/regex.php

da kannste regex schön komfortabel testen
Ok das mit dem Delimiter kann angehen. Aber der Punkt gibt an, dass der String nicht empty sein soll (habe es schon ohne "." versucht, bevor ich hier gepostet habe). Deshalb löst das "Punktweglassen" mein Problem auch nicht.
 
Alt 14.02.2005, 22:42  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
da kannste regex schön komfortabel testen
da kenn ich aber einen besseren
__________________
derHund ist offline  
Alt 14.02.2005, 23:34  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Jesus
Aber der Punkt gibt an, dass der String nicht empty sein soll (habe es schon ohne "." versucht, bevor ich hier gepostet habe). Deshalb löst das "Punktweglassen" mein Problem auch nicht.
Wenn Du mindestens eines der Zeichen haben willst, dann mach aus dem hier (.[^:]*) einfach das hier: ([^:]+)
Der_Gerhard ist offline  
Alt 14.02.2005, 23:35  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von derHund
Zitat:
da kannste regex schön komfortabel testen
da kenn ich aber einen besseren
Wie fies!
Wenn Du noch rausrückst, welchen Du meinst, dann kennen er und alle anderen ihn auch.
Der_Gerhard ist offline  
Alt 15.02.2005, 00:44  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
Wenn Du noch rausrückst, welchen Du meinst, dann kennen er und alle anderen ihn auch.
nee, mach ich nicht. dann setz ich mich nur wieder selbst unter druck, die neue version endlich mal fertig zu stellen. die alte ist 3 klicks entfernt.
__________________
derHund ist offline  
Alt 15.02.2005, 01:47  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von Buhmann
(du hast die delimiter vergessen)
Seit wann haben POSIX-Regexes Delimiter?
__________________
mod = master of disaster
Waq ist offline  
Alt 15.02.2005, 14:48  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von derHund
Zitat:
da kannste regex schön komfortabel testen
da kenn ich aber einen besseren
aber den hab ich selbst geschrieben und deswegen muss es per definitionem der beste sein *hämischgrins*

ne mal echt, wenn du einen besseren kennst dann musste ihn auch schon sagen....
Buhmann ist offline  
Alt 15.02.2005, 15:59  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
aber den hab ich selbst geschrieben und deswegen muss es per definitionem der beste sein *hämischgrins*
ja, aus dem selben grund ist meiner auch besser obwohl er bei genauerem betrachten viele fehler hat. darum eben die anstehende überarbeitung ... *laber*
Zitat:
ne mal echt, wenn du einen besseren kennst dann musste ihn auch schon sagen....
setz mich nicht unter druck

klick mein www, klick ersten link, klick 'alte version', klick pcre!
oder klick hier: http://pcre.nophia.de/evaluate/index.php

wenn dort 10.000 regexp ausgewertet wurden, ist die neue version bestimmt fertig. (wers glaubt ...).
__________________
derHund ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Posix Regex: Problem beim HTML Tags suchen PHP Tipps 2005 2 13.09.2008 17:57
Timestamp problem phrain PHP Tipps 2008 2 04.04.2008 09:41
Frage zu Regular Expression Schiedsrichter PHP Tipps 2008 1 19.09.2007 16:41
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
regular expression? Dilandau PHP Tipps 2006 55 30.06.2006 16:10
regular Expression verstehen GothicFiction PHP Tipps 2006 14 23.05.2006 23:15
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Regular Expression - Alles zwischen Anführungzeichen PHP Tipps 2005-2 3 05.08.2005 14:07
Regular Expression, Suchen bis zum ersten suppart... PHP-Fortgeschrittene 7 04.05.2005 09:03
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Datum mit Regular Expression kontrollieren PHP Tipps 2004-2 7 06.12.2004 09:44
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] regular expression: bin zu blöd PHP-Fortgeschrittene 2 08.11.2004 13:12
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
posix regulärer ausdruck, posix regex testen, posix regex alles außer, posix teilstring, regular expression posix \alles außer\, posix regex domain, posix testen, posix expression, javascript regex posix, posix regex javascript, regex außer punkt, posix regular expression tester, javascript posix, php regexp submatch, posix regular expression find tags, posix url regex or regular, regex irgendein zeichen, php regex url punkt matchen, expression lizenz fehler, php regular expressions submatch

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.