Regex - match einen string ohne führende und nachfolgende Leerzeichen
Gebäude einen Ausdruck, lehnt eine ungetrimmte input-string.
Haben eine Gruppe von white-listed-Symbole, einschließlich Leerzeichen. Aber es kann nicht verwendet werden, die bei der ersten oder bei der letzten position. Es kann jedoch verwendet werden, zwischen führenden und trimmen weiß-gelistet-symbol in beliebiger Höhe.
Haben folgenden Ausdruck:
^[^\s][A-Za-z0-9\s]*[^\s]$
... aber es funktioniert nicht in verschiedenen Gründen, zumindest ist es immer noch Spiele auf führende und nachfolgende position jedes nicht-whitespace-symbol, auch wenn es nicht in der weißen Liste aufgeführt. Futhermore, es wird nicht mit einzelnen Buchstaben-Wort, auch wenn es entspricht, zum Ausdruck.
Die whitelist ist A-Z, A-z, 0-9, Leerzeichen.
Gültig Gehäuse:
Abc132 3sdfas //everything ok
Ungültige Fall #1:
asd dsadas //leading\trailing space is exist
Ungültige Fall #2:
$das dsfds //not whitelisted symbol at the leading\trailing position
So, wie fügen Sie ein Leerzeichen-symbol auf der "weißen Liste", wenn es nicht die führende oder nachgestellte symbol?
- Könnten Sie einige Beispiele von sowohl gültige und ungültig Fällen?
- versuchen Sie es mit \\N bitte lassen Sie mich wissen, ob das geholfen, ich hatte dasselbe Problem und es war das, was mir fehlte
- ja, nehmen Sie einen Blick
^[A-Za-z0-9]+(?:\s+[A-Za-z0-9]+)*$
^[A-Za-z0-9]+.*[A-Za-z0-9]+$
: erste Zeichen solltealphanumeric
und hat zumindest einmal vorkommen, und die Letzte soll auch die gleichen, alles zwischen. Tut es, das problem zu lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie lookarounds, um sicherzustellen, dass keine Leerzeichen an beiden enden:
Live-demo
Aber wenn die Umgebung nicht unterstützt lookarounds die folgende regex funktioniert in den meisten Motoren:
^(?! |.* $)[A-Za-z0-9 ]+$
in JS oder das update angezeigt.je nach regex-engine unterstützt schauen Sie sich um
Demo