php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.04.2006, 17:27  
Neuer Benutzer
 
Registriert seit: 06.09.2005
Beiträge: 20
Werkler
Standard Funktion, die String auf Gleichheit mit regex prüft

Hallo,

ich suche eine Funktion, die mir einen String auf syntaktische Gleichheit mit einem regulären Ausdruck überprüft.
Ich will folgende Eingaben für Streckenwerte zulassen:
"([0-9]{1,3}),([0-9]{1,2})" (Bsp. 12,34)
Wenn ich dafür nun ereg verwende, werden Eingaben wie "abc12,34def" auch akzeptiert und das will ich natürlich nicht. Ich könnte zwar über den Umweg, die Stringlänge und die ereg-Rückgabelänge zu vergleichen, gehen, aber da muss es doch was hübscheres und sichereres geben, oder?
__________________
Viele Grüße,
Werkler
Werkler ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.04.2006, 18:03  
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

mach einfach an den anfang deines regex ein ^ und an das ende ein $, dann darf weder davor noch danach etwas stehen.
Buhmann ist offline  
Alt 02.04.2006, 18:04  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

a) Du solltest nach Möglichkeit immer den preg_*-Funktionen den Vorzug vor ereg geben.
b) Du kannst durch ^ und $ bestimmen mit was ein String beginnen und mit was er enden muss - dürfte sich in irgendwelchen Tutorials nochmal zum nachlesen finden lassen.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 02.04.2006, 18:06  
Gast
 
Beiträge: n/a
Standard Re: Funktion, die String auf Gleichheit mit regex prüft

Zitat:
Zitat von Werkler
ich suche eine Funktion, die mir einen String auf syntaktische Gleichheit mit einem regulären Ausdruck überprüft.
Ich will folgende Eingaben für Streckenwerte zulassen:
"([0-9]{1,3}),([0-9]{1,2})" (Bsp. 12,34)
Du suchst preg_match
Code:
if (preg_match('/^\d{1,3},\d{1,2}$/', $string))
 
Alt 02.04.2006, 18:37  
Neuer Benutzer
 
Registriert seit: 06.09.2005
Beiträge: 20
Werkler
Standard

Jawohl, danke, preg_match ist toll! Klappt wunderbar.
Eine letzte Verständnisfrage noch: Wozu sind die Slashs um den regulären Ausdruck?
__________________
Viele Grüße,
Werkler
Werkler ist offline  
Alt 02.04.2006, 22:08  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Werkler
Eine letzte Verständnisfrage noch: Wozu sind die Slashs um den regulären Ausdruck?
http://www.php.net/manual/de/ref.pcre.php
 
Alt 02.04.2006, 22:12  
Gast
 
Beiträge: n/a
Standard

Zitat:
\d
Eine Zeichenklasse, das selbe wie [0-9] nur dass \d auf einigen Systemen mehr als nur Zahlen erkennt ...

Der Slash ist der Delimiter.
 
Alt 02.04.2006, 22:15  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von CIX88
nur dass \d auf einigen Systemen mehr als nur Zahlen erkennt ...
Gut zu wissen. "Keine Regel ohne Ausnahme."
 
Alt 02.04.2006, 23:39  
Gast
 
Beiträge: n/a
Standard

Naja, in der Regel klappt das auch.
Mir ist blos noch ein Fall vorgekommen, wo es nicht so war (noch nicht).
Sollte nur als allg. zusätzlicher Hinweis dienen.
 
 


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
regex - pregmatch - string prüfen tinchen PHP Tipps 2008 11 29.12.2009 15:32
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
Problem mit zu langen String -> regex PHP Tipps 2006 1 25.01.2006 17:38
html tags filtern mit regex UND string ergänzen PHP Tipps 2006 14 06.01.2006 02:02
[Erledigt] String mit Wörten an JS Funktion übergeben HTML, Usability und Barrierefreiheit 3 26.12.2005 18:30
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[JS] Regex: Zahl aus String auslesen [gelöst] freq.9 HTML, Usability und Barrierefreiheit 3 27.06.2005 12:02
regex Funktion PHP Tipps 2005-2 6 18.06.2005 02:46
string funktion PHP Tipps 2005 2 02.06.2005 21:03
preg_split erzeugt leeren String || regex Schaelle PHP Tipps 2005 2 27.04.2005 18:35
Lösungsansatz fehlt: RegEx soll eine Funktion "aufrufen Kort PHP Tipps 2005 6 03.04.2005 18:15
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Funktion zum zählen von Zeichen in einem String PHP Tipps 2004 2 15.07.2004 16:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php string gleichheit, php strings auf gleichheit prüfen, php string mit regulärem ausdruck vergleichen, http://www.php.de/php-tipps-2006/38747-funktion-die-string-auf-gleichheit-mit-regex-prueft.html, php string vergleichen, javascript string gleichheit, reguläre ausdrücke gleichheit, php string auf gleichheit prüfen, string gleichheit php, string mit regex vergleichen, php gleichheit, php string auf gleichheit, php string mit regex vergleichen, php strings auf ähnlichkeit prüfen, regex string vergleichen, php strings auf gleichheit überprüfen, php string auf ähnlichkeit prüfen, php strings auf gleichheit, string auf gleichheit prüfen php, php strings gleichheit

Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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.