2017-02-15 5 views
-1

Ich verwende eine Regex, um eine Formulareingabe zu validieren. Im Grunde kann ein Benutzer "SELECT Some_Name von select_match" eingeben.Regulärer Ausdruck Generierung für AngularJS ng-Muster

Bisher habe ich die Regex: \bSELECT\b \bof select_match\b Der letzte Teil ist der mittlere Teil, was ich denke [a-zA-Z] sein soll, aber ich bin mir nicht sicher, wie es in der Mitte zu platzieren. Ich habe mehrere Seiten gelesen, kann sie aber nicht ausführen.

Außerdem möchte ich die Regex Leerzeichen zwischen "SELECT" und "Select_match" ignorieren. Das bedeutet, dass SELECT blabla of select_match und SELECT blabla of select_match beide als korrekt validiert wurden.

Kann mir jemand sagen, wie das geht? Vielen Dank.

+0

Try '/^SELECT \ s + \ w + \ s + von \ s + select_match $/' –

+0

Scheint nicht zu funktionieren:/ –

+0

Sicher, hat es nicht, da wir nicht wissen, wie du es verwendest Zeige deinen Code –

Antwort

0

Wenn ich Sie richtig verstanden habe, sollte diese Arbeit:

/^SELECT\s+(\w+)\s+of select_match$/

Hinweise:

  • Diese beliebige Anzahl von Leerzeichen zwischen "SELECT" ermöglicht und die match_name; und zwischen dem match_name und dem "of" (aber mindestens 1. Um auf mindestens 0 zu wechseln, ändere das \ s + in ein \ s *)
  • Danach muss der Rest der Zeichenfolge genau so sein (gleiche Räume und Wörter genau).
  • Die match_name wird in Übereinstimmung Gruppe 1.

werden, wenn dies ist, zeigen ein wenig Code nicht funktioniert (wo Sie es verwenden) und wir können versuchen, das Problem zu finden.

Hinweis: Wenn Sie es in ng-Muster verwenden, verlieren Sie die "/" s (das Muster ist: ^SELECT\s+(\w+)\s+of select_match$).

Hinweis 2: Wenn Sie es in einer Zeichenkette verwenden, erinnern Sie sich vielleicht jeder entkommen müssen "\" (es ein "\" zu machen, und das Ergebnis: ^SELECT\\s+(\\w+)\\s+of select_match$