2 votes

Expression régulière pour sélectionner de X à Y

J'ai le code HTML suivant :

<Some Html above....../>
<!--Template Start -->
<div>
<p>Some text</p>
...
<div>
<!--Template End -->
<Some Html below/>

Maintenant, comment puis-je écrire une expression régulière pour faire correspondre tout le texte de Début du modèle à Fin du modèle

Il est dit ici que notepad++ utilise le moteur Scintilla. Expressions régulières non gourmandes pour Notepad

9voto

Karolis Points 5900
<!--Template Start -->(.*?)<!--Template End -->

s doit être activé.

2voto

Howard Points 23487

En supposant qu'il n'y ait pas de modèles imbriqués :

<!--Template Start -->(.*?)<!--Template End -->

Il faut activer le mode DOT_ALL pour couvrir également les nouvelles lignes.

0voto

jakub.g Points 3734

C'est dommage, mais Notepad++ ne permet pas de faire correspondre les nouvelles lignes ( \r\n ) nativement en mode regex. La correspondance avec les nouvelles lignes n'est possible qu'en mode étendu. Cependant, il supporte l'INSERTION de nouvelles lignes dans les deux modes.

Pour obtenir les résultats souhaités, vous pouvez contourner le problème :

  1. Supprimer toutes les nouvelles lignes en mode étendu (remplacer \r\n avec rien) afin d'obtenir un one-liner.
  2. Effectuer des manipulations de regex en mode regex.
  3. Ajouter des nouvelles lignes en mode étendu (par exemple, remplacer <div> con <div>\r\n etc.) ou le mode regex.

J'ai lu quelque part que le plugin PythonScript pour N++ offrait un meilleur support pour les regex, mais je ne l'ai pas vérifié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X