Heim >Backend-Entwicklung >C++ >Wie kann die Länge von Zeichen in einem regulären Ausdruck begrenzt werden?

Wie kann die Länge von Zeichen in einem regulären Ausdruck begrenzt werden?

DDD
DDDOriginal
2025-01-26 20:14:15972Durchsuche

How to Limit the Length of Characters in a Regular Expression?

Die Verbesserungsmethode der Längengrenze der Charakterlängengrenze

Ihr ursprünglicher regulärer Ausdruck hat die Charakterlänge nicht beschränkt:

Um die Länge des Zeichens auf 15 zu begrenzen, versuchen Sie, den Ausdruck zu ändern:
<code>var test =  /^(a-z|A-Z|0-9)*[^$%^&*;:,<>?()\""\']*$/</code>

, aber dies wird einen Fehler angeben, da die Quantifizierer nicht direkt auf den Ankerpunkt angewendet werden können. Die korrekte Methode zur Einschränkung der Länge der Eingangszeichenfolge besteht darin, die erste Behauptung der Startposition zu verwenden:
<code>var test =  /^(a-z|A-Z|0-9)*[^$%^&*;:,<>?()\""\']*${1,15}/</code>

Diese erste behauptet, dass die Eingangszeichenfolge mit dem angegebenen Zeichenbereich übereinstimmt und die Länge zwischen 1 und 15 Zeichen beträgt, was die Zeichenlängengrenze effektiv implementiert.
<code>^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,<>?()\"']*$</code>

im Vergleich zu den eingeschränkten quantitativen Wörtern (wie {1,15}) am Ende ist die Behauptungsmethode zulässig, die Länge der gesamten Eingangszeichenfolge zu begrenzen. Der Quantifizierer wird auf den nachfolgenden nachfolgenden Sub -Mode angewendet, um sicherzustellen, dass er mit der Anzahl der vom Beginn der Zeichenfolge erforderlichen Zeichen übereinstimmt.

Folgendes sind die anderen Punkte, die auf:

beachtet werden müssen

Der Sub -Mode stimmt mit dem Buchstaben oder der digitalen Sequenz der willkürlichen Länge überein. Es entspricht dem in Ihrem ursprünglichen Ausdruck verwendeten
    sub -Mode.
  • [a-zA-Z0-9]* In der ersten Behauptung von (a-z|A-Z|0-9)* verwenden
  • verankerungspunkt, um zu behaupten, dass die angegebene Anzahl von Zeichen am Ende der Zeichenfolge liegen muss.
  • (?=.{1,15}$) Diese Methode eignet sich für ECMascript und andere reguläre Ausdrucksstile wie Python. In Python müssen Sie jedoch $ und
  • Ankerpunkte anstelle von
  • und A verwenden. Z ^ $ Wenn Ihre Eingangszeichenfolge ein Änderungssymbol enthalten kann, können Sie
  • jede charakteristische Expressionsstruktur des transplantierbaren Zeichens verwenden:

[sS] Dies stellt sicher, dass das Änderungssymbol auch in der Charakterlängengrenze enthalten ist.

Das obige ist der detaillierte Inhalt vonWie kann die Länge von Zeichen in einem regulären Ausdruck begrenzt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn