getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.01.2005, 23:04   #1
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg

Regex


Schönen Samstag Abend,

ich versuche ein Regex für einen String mit Folgenden Kennzeichen zu
erstellen:

- 3-20 Zeichen lang // klappt glaube ich
- Zahlen und Buchstaben (ohne Umlaute) // klappt auch
- Sonderzeichen @()?/. // geht

folgende Dinge funktionieren nicht:

- Sonderzeichen "-"
- und es darf kein(!!!) Leerzeichen im String sein.

also mit dem Leerzeichen, ich finde echt keinen Ansatz
Kann mir jemand helfen?


So schaut es jetzt aus:
Code:
^([1-zA-Z0-1@()?/.\s]{3,20})$^
lg

PS: Mit "-" hat sich erledigt. Muss mit "\-" maskiert werden.
Die verbesserte Version:
Code:
^([1-zA-Z0-1\-@()?/.\s]{3,20})$^
__________________
Nico

www.deskStop.de
Nico ist offline   Mit Zitat antworten


Alt 30.01.2005, 02:19   #2
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Nimm die ASCII-Tabelle und einige dich, welche Zeichen du zulassen oder welche du nicht zulassen willst.
Strogij ist offline   Mit Zitat antworten
Alt 30.01.2005, 02:58   #3
TP-Special Mod
 
Benutzerbild von webmichl
 
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
webmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine Userwebmichl lebt für das TP und seine User
Mal so aus dem Bauch raus ( ungetestet ):

versuch's mal mit
^\w{3,20}$ ( findet alle alphanumerischen Zeichen - bei den Sonderzeichen wirds wohl scheitern )

oder mit

^\S{3,20}$ ( findet alle nicht-Whitespaces - könnte eher funktionieren )


...ansonsten setz ich mich morgen etwas nüchterner mal dran...
webmichl ist offline   Mit Zitat antworten
Alt 30.01.2005, 08:55   #4
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg
@Strogij: Den Ansatz mit der ASCII-Tabelle hatte ich auch, bin aber an der Umsetzung gescheitert.
Hast Du da vielleicht ein kleines Beispiel?

@webmichl: "^\S{3,20}$" ... findet Leerzeichen und lässt sie nicht zu,
aber Umlaute wie ä, ö, ü werden zugelassen. Das darf nicht sein

schönen Tag und keinen Kater
__________________
Nico

www.deskStop.de
Nico ist offline   Mit Zitat antworten
Alt 30.01.2005, 09:00   #5
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg
phu, ich habe es:

bearbeitet:geht irgendwie doch nicht

Code:
^\w[(|)|/|\-]{1,3}\w{3-20}$^
Danke für die Ideen,

... über ein Beispiel mit der ASCII-Tabelle würde ich mich sehr freuen.

lg
__________________
Nico

www.deskStop.de

Geändert von Nico (30.01.2005 um 09:16 Uhr).
Nico ist offline   Mit Zitat antworten
Alt 30.01.2005, 10:44   #6
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Naja, du nimmst halt die Zeichen aus der Tabelle, die du brauchst der Reihe nach:
[A-Za-z]{3,20} Gehst die Tabelle durch und lässt zwischen den von-bis die Zeichen aus, die du nicht haben möchtest. Angenommen du willst den Buchstaben 'd' nicht haben: [a-ce-z] usw. Kapiert, was ich meine?
Strogij ist offline   Mit Zitat antworten
Alt 30.01.2005, 11:02   #7
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg
hm...
also das klappt so irgendwie nicht.
Schon wenn ich
Code:
[A-Za-z()?\-]{3,20}
nutze ist der String mit "ä,ü,ö" und auch einem Leerzeichen gültig.
Das darf ja nicht sein.

Wie kann ich Zeichen explizit ausschließen?
__________________
Nico

www.deskStop.de
Nico ist offline   Mit Zitat antworten
Alt 30.01.2005, 11:11   #8
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Zitat:
Zitat von Nico
Schon wenn ich
Code:
[A-Za-z()?\-]{3,20}
nutze ist der String mit "ä,ü,ö" und auch einem Leerzeichen gültig.
Das darf ja nicht sein.
Da behaupte ich das Gegenteil. Außer den Zeichen, die in dieser Klasse aufgezählt werden, wird nix zugelassen (hab's getestet).
Strogij ist offline   Mit Zitat antworten
Alt 01.02.2005, 19:13   #9
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg
hm, vielleicht habe ich ja da irgendwo einen Denkfehler. Mein Code sieht
folgendermaßen aus:

PHP-Code:
<?php
if (!@preg_match("^[A-Za-z()\-]{3,20}^","d hjh")){    
echo 
"<span class=\"error\">Fehler im String: </span>"
}        
else {
echo 
"<span class=\"green\">Der String: ist in Ordnung.<span>"
}
?>
... Der String enthält ein Leerzeichen. Das soll als nicht gültig ausgewertet werden. Also sollte die Ausgabe "Fehler im String" sein.

... ist es aber nciht.

Kannst Du mir weiter helfen?

Danke
__________________
Nico

www.deskStop.de
Nico ist offline   Mit Zitat antworten
Alt 01.02.2005, 20:13   #10
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
PHP-Code:
if (!preg_match('/^[A-Za-z()\-]{3,20}$/','d hjh')) 
Strogij ist offline   Mit Zitat antworten
Alt 02.02.2005, 16:05   #11
TP-Supporter
 
Benutzerbild von Nico
 
Registriert seit: Jan 2003
Ort: Dresden
Nico ist auf einem guten Weg

Klappt


Danke, das klappt. Ich habe es wohl noch nicht so richtig raus, was das schreiben und interpretieren von Ausdrücken angeht

schöne Woche und danke nochmal
__________________
Nico

www.deskStop.de
Nico ist offline   Mit Zitat antworten
Alt 02.02.2005, 17:21   #12
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Naja, du hast eben keine Grenzen gesetzt - es ist nicht gesagt, dass der Ausdruck den ganzen String betreffen soll. Daher sind jetzt ^ und $ da.
Strogij ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Regex Regex
« HTML und Plain Mail verschicken, ich bekomms nich hin | [reg_exp] zeilenweises ersetzen und auslesen in einer while-schleife »

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

Erweiterte Suche
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
Mal wieder regex Nico Traum-Dynamik 5 12.11.2004 07:11
Anführungszeichen " " austauschen gegen korrekte - regex? Boris Traum-Dynamik 6 29.05.2004 23:00
RegEx klappt nicht lycos Traum-Dynamik 6 28.09.2003 01:13
Suche JS Regex für spezielles Problem... mike Traum-Dynamik 2 03.04.2003 17:55
Umlaute auswechseln - geht es auch schneller (mit regex?) Boris Traum-Dynamik 7 29.01.2003 15:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:46 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67