Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
20.03.11, 18:23
|
#1
|
Kaulquappe
Registriert seit: May 2009
Beiträge: 46
Bedankt: 149
|
PHP - RegEx
Zufällig jemand hier der da durchblickt und mir eben einen regulären Ausdruck erstellen kann?
Der RegEx muss auf alle beliebigen Folgen von Zeichen+Zahlen+Buchstaben zutreffen, nicht jedoch auf reine Buchstaben, Zeichen oder Zahlen Strings.
Whitespace ist ebenfalls erlaubt.
Beispiel:
String = Ergebnis der preg_match()-Funktion
abcde = kein Treffer
12345 = kein Treffer
§$%& = kein Treffer
12abc = trifft zu
13$% = trifft zu
ab%& = trifft zu
usw.
Ich brauch das nur ein einziges mal um die User-Passwörter zu validieren macht also keinen Sinn, 500 Seitige Tutorials zu wälzen.
Gruß Battle Toad
__________________
Toastbrot!
|
|
|
20.03.11, 19:09
|
#2
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 481
Bedankt: 236
|
[a-zA-Z]{1,} [0-9]{1,} [!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]{1,}
Bin mir grad nich sicher, ob das richtig ist, aber so ungefähr sollts aussehen^^
|
|
|
20.03.11, 19:26
|
#3
|
Banned
Registriert seit: Mar 2011
Beiträge: 35
Bedankt: 14
|
Zitat:
Zitat von Thelvan
[a-zA-Z]{1,} [0-9]{1,} [!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]{1,}
Bin mir grad nich sicher, ob das richtig ist, aber so ungefähr sollts aussehen^^
|
Wenn ich {1,} richtig als "mindestens einmal" interpretiere, dann ist das falsch, denn es reichen zwei dieser Kategorien aus.
Also folgende Kombinationen wären gültig.
[a-zA-Z]
[0-9]
[a-zA-Z]
[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]
[0-9]
[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]
(Es fehlen die Umklammerungen und ODER-Verknüpfungen)
|
|
|
20.03.11, 21:22
|
#4
|
Kaulquappe
Registriert seit: May 2009
Beiträge: 46
Bedankt: 149
|
Hm... das mit dem Mindestens scheint zwar nicht zu klappen, bringt mich aber auf eine Idee...
Für alles andere reicht mein wissen über RegEx ja aus, nur bei PW's wird's haarig...
Ich probiers mal aus und poste dann meinen (Miss?)Erfolg...
__________________
Toastbrot!
|
|
|
21.03.11, 23:49
|
#5
|
Kaulquappe
Registriert seit: May 2009
Beiträge: 46
Bedankt: 149
|
So, nach einigem hin und her (Beschreibungen/Tutorials lesen) hab ich eine Lösung gefunden, die kurz und halbwegs elegant ist, allerdings denk ich, dass jemand mit mehr Kenntnis der Materie die noch optimieren kann:
'/([A-Za-z]+\W+|\W+[A-Za-z]+|\d+\D+|\D+\d+)+/'
Ich frage hiermit im Grunde nach:
BUCHSTABE plus SONDERZEICHEN
oder
SONDERZEICHEN plus BUCHSTABE
oder
ZAHL plus NICHT-ZAHL
oder
NICHT-ZAHL plus ZAHL
Die Dopplung gefällt mir noch nicht, aber ich weiß nicht, wie ich die weg bekomme ohne dass der Ausdruck wieder ungenau wird. Zwei verschiedene Operatoren wie + und ? zu verwenden hinter den einzelnen Elementen beeinflusst nur ob der andere Operator greedy oder ungreedy ist...
Also wenn das noch wer lösen kann bin ich happy, ansonsten schreib ich das in den Code.
Die Dopplung brauch ich, a die Beispiele auch durchmixt Sinn ergeben müssen...
__________________
Toastbrot!
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
().
|