Reguläre Ausdrücke
marcus
- programmiertechnik
Guten Tag,
ich versuche eben einen regulären Ausdruck aufzubauen, der neben a-zA-Z0-9 auch noch (),;'" zulässt.
Vielen Dank für Hilfe.
Hallo marcus.
ich versuche eben einen regulären Ausdruck aufzubauen, der neben a-zA-Z0-9 auch noch (),;'" zulässt.
Aha, dann viel Erfolg.
Vielen Dank für Hilfe.
Wobei? Wo liegt dein Problem?
Einen schönen Montag noch.
Gruß, Ashura
Wie lasse ich die Zeichen -->(),;'"<-- zu?
hi,
Wie lasse ich die Zeichen -->(),;'"<-- zu?
Wie lässt du denn derzeit a-z und A-Z zu ...?
gruß,
wahsaga
Noch einmal, guten Tag,
da ich mir nur kurz eine Antwort erhoffte, schrieb ich nur das notwendigste auf. Ich habe mich mit dem Thema schon soweit beschäftigt, dass ich Namen, Straßen, E-Mail-Adressen (mit etwas Hilfe) validieren kann.
Nun benätige ich nur noch die "escapten" Zeichen für -->(),;'"<--, denn für genau diese finde ich keine Beispiel, keine Dokumentation und kein Tutorial.
Wenn ich das jetzt schreibe, knallt mir auch gleich einer einen Link vor den Latz, den er mit "einfachem " Googlen gefunden hat. Toll. Ich nicht. Ich ich suche, bevor ich in einem Forum nachfrage.
Also: Wie soll ich mich verhalten. Soll ich das Problem weit austreten, schreiben, wie verzweifelt ich schon bin, wieviele Foren ich durchstöbert habe oder einfach, kurz und prägnant das Problem schildern.
Vielen Dank für die Aufmerksamkeit.
hi,
Also: Wie soll ich mich verhalten.
Weniger herumlamentieren, mehr selbstständig denken.
Meinst du, die Frage, wie du das mit den Buchstaben machst, hätte ich dir einfach nur so zum Spaß gestellt?
Wenn du die beantwortest, sollte dir dabei eigentlich auch schon auffallen, wie es für die genannten Zeichen (weitgehend) analog geht.
gruß,
wahsaga
Hier die Funktion:
function check_words($val) {
return preg_match('/^([a-zA-Z0-9_.:<>-?@ßäÄöÖüÜ]+([ ]{0,1}|[-]{0,1}|[.]{0,1}))*[a-zA-Z0-9_.:<>-?@ßäÄöÖüÜ]+[.]{0,1}$/',$val);
}
Hell-O!
/^([a-zA-Z0-9_.:<>-?@ßäÄöÖüÜ]+([ ]{0,1}|[-]{0,1}|[.]{0,1}))*[a-zA-Z0-9_.:<>-?@ßäÄöÖüÜ]+[.]{0,1}$/'
Hier kannst du einiges vereinfachen bzw. ändern.
[a-zA-Z0-9_.:<>-?@ßäÄöÖüÜ]+
Sonderzeichen müssen in Zeichenklassen nicht mit einem Backslash maskiert werden. Ein Bindestrich sollte besser am Ende stehen, da er in einer Zeichenklasse "von bis" bedeutet (siehe "a-z").
([ ]{0,1}|[-]{0,1}|[.]{0,1})
Auch das lässt sich zu einer Zeichenklasse zusammenfassen:
[.- ]{0,1}
Allerdings ist das irgendwie doppelt gemoppelt, da du (bis auf das Leerzeichen) bereits alle Zeichen in der ersten Zeichenklasse erlaubst. Was soll denn geprüft werden bzw. wie sehen deine Vorstellungen einer passenden Zeichenkette aus?
Siechfred
Sorry, die Antwort wurde nicht abgesendet.
Noch mal: Aus Formatierungszwecken muss ich teilweise gewissen Sonderzeichen nicht erlauben. Dementsprechend will ich diese ondemand dazuschalten, wenn erlaubt.
Wie escape ich nun Sonderzeichen wie, Komma, Strichpunkt, ", ',...
mfg
Hallo Marcus,
ich habe die Suche hier mit den naheliegenden Begriffen
"regulär", "Ausdruck", "Sonderzeichen"
gefüttert. Das vierte Suchergebnis (bei mir) sieht schon vielversprechend aus, insbesondere der Abschnitt Maskierung von Zeichen in regulären Ausdrücken.
Ist das zu schwer? Waren die Begriffe zu weit hergeholt? Hattest Du vielleicht zu restriktiv gesucht?
Helfen Dir diese Links weiter?
Freundliche Grüße
Vinzenz
Heißa, Marcus,
Wie escape ich nun Sonderzeichen wie, Komma, Strichpunkt, ", ',...
Gar nicht, für den regulierenden Ausdruck sind das keine Sonderzeichen. Siehe auch SelfHTML.
Gautera!
Grüße aus Biberach Riss,
Candid Dauth
Hi Siechfred,
Ein Bindestrich sollte besser am Ende stehen, [...]
[.- ]{0,1}
hmmm - nennt man das jetzt eine "negative Backreference"?
SCNR ;-)
Gruß,
Andreas.
Hell-O!
Ein Bindestrich sollte besser am Ende stehen, [...]
[.- ]{0,1}
hmmm - nennt man das jetzt eine "negative Backreference"?
Wieso, die Zeichenklasse umfasst jetzt alles von "." bis " ".
SCNR ;-)
dito.
Siechfred
Hi,
Wie lasse ich die Zeichen -->(),;'"<-- zu?
Wenn Du etwas fragst, dass schlicht zu den _minimalen_ Grundkenntnissen gehört musst Du Dich nicht wundern, wenn Dir mangelndes Engagement vorgeworfen wird. Beschäftige Dich also dringend damit, wie man mittels [...] Klassen von Zeichen erstellt.
Gruesse, Joachim
Hi
ich versuche eben einen regulären Ausdruck aufzubauen, der neben a-zA-Z0-9 auch noch (),;'" zulässt.
das Problem mit deinen Postings ist, dass du es so trivialisierst dass sich viele Antworter leicht verarscht vorkommen und im Trollmodus antworten.
Dass
[a-zA-Z0-9(),;'"]
(eventuell mit einigen escapes angereichert) ist die _triviale_ Antwort!
Da du uns aber nicht verrätst ob du Javascript, Perl oder wasweißich benutzt, weiß niemand wo nun dein wirkliches Problem liegt.
Insbesondere kannst du nicht erwarten dass man es für dich dann auch noch ausgetestet hat.
Tschau
LanX