2016-03-23 13 views
0

Ich habe jetzt ein paar Tage mit Regex herumgespielt und ich habe alles außer einer kleinen Sache gemacht.Regex - erlaube einige Zeichen nur, wenn die Zeichenfolge andere Zeichen enthält

^[-,.'\s\p{L}]{1,}$ 

Zum Beispiel sollte die Regex über einen beliebigen Namen zulassen (einschließlich Leerzeichen, Kommas, etc.), aber im Moment zählt auch „“ und“, .-‘ "als Namen. Die Frage ist einfach: Wie kann ich das verhindern? Sorry, wenn das eine doppelte Frage ist, konnte ich kein exaktes Problem finden.

+1

Ist es für JS und PHP? '\ p {L}' wird von PHP unterstützt, aber nicht von JS. –

+0

Aus irgendeinem Grund zeigt es JS als Hauptkategorie, diese Regex hier ist für PHP, aber die Frage gilt für beide, die Syntax ist ziemlich gleich und ich verwende beide. – Kristo

Antwort

1

Die einfache Antwort ist, bevor eine beliebige Anzahl Ihrer erlaubten Zeichen zu ermöglichen, und nach, ein echten Charakter.

I.e. ^[-,.'\s\p{L}]*\p{L}[-,.'\s\p{L}]*$

Grüße

+0

Danke, funktioniert perfekt! – Kristo

+0

@Kristo Fühlen Sie sich frei, die Antwort als akzeptiert zu markieren;) – ClasG

+0

Fertig, habe den Knopf vorher nicht bemerkt: D – Kristo

Verwandte Themen