Ich versuche, einen regulären Ausdruck zu schreiben , der nur Kleinbuchstaben und bis zu 10 Zeichen zulässt. Was ich bisher habe, sieht so aus:
pattern: /^[a-z]{0,10}+$/
Dies funktioniert nicht oder kompiliert nicht. Ich hatte eine funktionierende, die nur Kleinbuchstaben zuließ:
pattern: /^[a-z]+$/
Aber ich muss die Anzahl der Zeichen auf 10 beschränken.
^[a-z]{0,10}+$
in einigen Sprachen kompiliert werden und einige der bemerkenswerten Java, Perl (5.10+), PHP, Ruby (1.9+) sind. Weitere Informationen finden Sie auf dieser Seite .Antworten:
Sie können geschweifte Klammern verwenden, um die Anzahl der Vorkommen zu steuern. Dies bedeutet beispielsweise 0 bis 10:
Die Optionen sind:
Siehe die Referenz für reguläre Ausdrücke .
Ihr Ausdruck hatte nach der schließenden geschweiften Klammer ein +, daher der Fehler.
quelle
^
, um NUR Anfragen mit einem Namen wie1234
oder abzugleichen5678
, und ich musste das $ -Zeichen einfügen/^[a-z]{0,10}$/
sollte arbeiten./^[a-z]{1,10}$/
Wenn Sie mindestens einem Zeichen entsprechen möchten, wie dies der/^[a-z]+$/
Fall ist.quelle
Es kann nützlich sein, am Ende der Zeichenfolge eine gierige Übereinstimmung hinzuzufügen, sodass Sie Zeichenfolgen> als 10 akzeptieren können und der reguläre Ausdruck nur bis zu den ersten 10 Zeichen zurückgibt.
/^[a-z0-9]{0,10}$?/
quelle
Es hängt sehr stark von dem Programm ab, das Sie verwenden. Verschiedene Programme ( Emacs , vi , sed und Perl ) verwenden leicht unterschiedliche reguläre Ausdrücke. In diesem Fall würde ich sagen, dass im ersten Muster das letzte "+" entfernt werden sollte.
quelle
Gibt die Anzahl mit exakter Übereinstimmung mit Limit an
quelle