Maison >interface Web >js tutoriel >Faire le point sur les pièges des crochets dans les expressions régulières JavaScript_javascript skills

Faire le point sur les pièges des crochets dans les expressions régulières JavaScript_javascript skills

WBOY
WBOYoriginal
2016-05-16 15:10:291188parcourir

Lorsque vous utilisez des expressions régulières en JavaScript, vous devez faire attention à un piège à l'intérieur des parenthèses, qui est le problème des métacaractères entre parenthèses. Je suis moi-même tombé dans un piège, et après avoir effectué des recherches en ligne, de nombreuses personnes sont tombées dans ce piège, je vais donc donner un résumé approximatif.

Les crochets sont appelés Groupe de caractères(Classe de caractères) dans les expressions régulières. Certains livres le traduisent par Classe de caractères, et d'autres le traduisent par Jeu de caractères . Je pense que les groupes de personnages sont meilleurs. Après tout, la classe représente la « classe » en informatique orientée objet. Comme son nom l'indique, un groupe de caractères est un groupe de caractères qui représente une variété de caractères pouvant apparaître dans une même position. Notez que l’accent est ici mis sur une seule position. (Ce paragraphe est tiré de - http://www.cnblogs.com/snandy/p/3662423.html)

a utilisé un endroit pour obtenir des caractères, donc [.n]* a été utilisé. Le résultat a été testé et il a renvoyé vrai, mais il est faux de le mettre dans un environnement spécifique. . . . . . Oh mon Dieu, je ne peux pas comprendre.

Testez de manière décisive var testp = /xx>[.n]*/ testp.test("xx>asdfdfasd"); C'est toujours vrai si vous mettez "xx>" à la fin, mais c'est vrai si vous mettez "xx>" des deux côtés faux. Pourquoi est-ce ? ? ? ? ? ?

J'ai donc recréé var testp = /

(xx>[.n]*)/. Modifiez-le et ajoutez des crochets pour capturer la chaîne correspondante. . Après le test, RegExp.$1 s'est avéré vide. . . . . C'est vide. . . . Pourquoi ? ? ? ?

Lorsque le paramètre de chaîne de test est modifié en (""......."), cette chaîne de points apparaît. Par conséquent, les points entre crochets ne représentent que des points, rien d'autre, pas une division de métacaractères. La signification d’un seul caractère autre que celui-là. J'ai donc cherché en ligne :

« De nombreux métacaractères sont devenus des personnages ordinaires dans le groupe de personnages » Ils sont devenus des caractères ordinaires au lieu de métacaractères, et il y a d'autres choses comme "?", "+", et "*" deviennent des caractères ordinaires une fois placés entre crochets.

Il faut donc quand même faire attention à cet écueil. . . .

D'ailleurs, n'importe quel caractère dans peut être remplacé par [sS].

Le [pit] entre crochets dans l'inventaire ci-dessus des expressions régulières javascript correspond à tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère que vous soutiendrez Script Home.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn