Maison >interface Web >js tutoriel >Comment capturer du texte multiligne en JavaScript avec des expressions régulières ?

Comment capturer du texte multiligne en JavaScript avec des expressions régulières ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 11:00:02596parcourir

How to Capture Multiline Text in JavaScript with Regular Expressions?

Affinage de la correspondance d'expressions régulières sur plusieurs lignes en JavaScript

Lorsque vous essayez de faire correspondre un texte multiligne à l'aide d'expressions régulières en JavaScript, la valeur par défaut le comportement exclut les caractères de nouvelle ligne, ce qui rend difficile la capture de blocs s'étendant sur plusieurs lignes. Cela peut être frustrant, surtout lorsque l'indicateur « m » (correspondance multiligne) ne résout pas le problème.

La solution réside dans l'utilisation de la classe de caractères [sS] dans l'expression régulière. Cela correspond à tous les caractères, y compris les caractères de nouvelle ligne, vous permettant de capturer avec précision un texte qui s'étend sur plusieurs lignes.

Fragment de code :

<code class="javascript">var ss = "<pre class="brush:php;toolbar:false">aaaa\nbbb\nccc
ddd"; var arr = ss.match(//gm); alert(arr); // "<pre class="brush:php;toolbar:false">.... :)"

Points clés à Considérez :

  • Évitez d'utiliser (.|[rn]) comme substitut à . en correspondance multiligne.
  • Utilisez [sS] au lieu de . pour une correspondance plus efficace et plus précise.
  • Faites preuve de retenue dans l'utilisation de贪婪量词(如或 ),考虑使用?或 ?以提升性能。
  • Bien que [^] puisse être utilisé pour la correspondance multiligne, il est considéré comme obsolète.

N'oubliez pas qu'en tirant parti de la classe de caractères [sS] et en pratiquant une construction consciente d'expressions régulières, vous pouvez capturer efficacement du texte s'étendant sur plusieurs lignes en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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