Trouver plusieurs lignes dans le bloc-notes++

Est-il un moyen de trouver un paragraphe?

par exemple je veux rechercher ce code:

<?php
    $radio_buttons++;
  }
?>

mais lorsque j'essaie de le copier dans la case de recherche, il ne copie que la première ligne, <?php .

il semble qu'il y ait certainement un moyen de le faire, mais je ne peux pas le trouver. Peut-être que c'est un addon?

24
demandé sur Peter Mortensen 2011-03-30 20:22:45

9 réponses

Comme Xenovoyance le suggère, c'est possible avec CTRL + R (également accessible dans le menu "option TextFX > TextFX Rapide > Rechercher/Remplacer ):

il suffit de sélectionner votre texte pour trouver, puis d'invoquer cette option... Multi line find/replace

mise à JOUR: Utilisateur Żabojad m'a fait réaliser que dans les dernières versions de Notepad++, le " TextFX "plugin n'est pas installé par défaut, donc d'abord vous devrez faire l'une des deux choses:

  1. la plus facile: allez à l'option de menu Plugins > Plugin Manager > Show Plugin Manager , faites défiler la liste des plugins disponibles vers " TextFX Characters " et de l'installer. Install from Plugin Manager

  2. le chemin ci-dessus devrait fonctionner, mais sinon vous devez aller à cette page: http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26 / et télécharger le fichier TextFX.v0.26.unicode.bin.zip Download TextFX Characters puis extraire son contenu (ne copiez pas seulement le fichier zip) dans le sous-dossier \plugins du dossier D'installation Notepad++ Copy dll to Notepad++ plugins folder

après le redémarrage de Notepad++, vous verrez l'entrée du menu TextFX .

22
répondu Francisco Alvarado 2017-05-23 12:03:09

depuis Notepad++ 6.0 l'expression régulière recherche de lignes multiples fonctionne.

la recherche de votre code serait quelque chose comme

<?php.*\r\n.*$radio_buttons++;.*\r\n.*}.*\r\n.*?>

.* est un joker pour n'importe quel nombre de caractères (sauf les sauts de ligne). Vous pouvez également basculer une case à cocher dans la boîte de dialogue "Notepad++" (appelée ). correspond à la nouvelle ligne ) pour inclure les sauts de ligne.

pour un description détaillée voir la réponse du haut de cette question:

trouver CRLF dans la Notepad++

8
répondu coeing 2017-05-23 11:33:15

à ma connaissance, le bloc-notes++ ne supporte pas les expressions régulières multi-lignes, vous devrez donc le faire en remplaçant chaque saut de ligne par les caractères de rupture de ligne représentatifs de votre système d'exploitation (très probablement \r\n ). Voir pour plus de détails.

4
répondu Ian Pugsley 2017-05-23 11:47:36

j'ai trouvé le thread suivant sur un sujet apparenté: Multiline Regular Expression search and replace!

recommande d'essayer CTRL + R!

3
répondu Xenovoyance 2017-05-23 12:34:59

Cntrl+C le texte ci-dessus que vous voulez trouver et Cntrl+V dans un nouveau document vierge dans Notepad++, puis Sélectionner à nouveau et appuyez sur Cntrl+F . Vous verrez votre texte dans le champ "rechercher" avec onglets espaces comme les sauts de ligne. Pas besoin de plugins.

3
répondu Leb_Broth 2014-12-23 00:46:33

pour un bloc-notes++ v5.8.7+ Il n'y a pas de plugin TextFX pour Unicode installé par défaut, donc pour utiliser CTRL + R vous devez installer TextFX Characters plugin avec Plugin Manager.

2
répondu mykola.rykov 2012-02-17 08:11:45

il y a une solution:

Changer le mode de recherche à Extended et remplacer "return-newline"s par \r\n

par exemple <?php\r\n $radio_buttons++;\r\n }\r\n?>

Le problème est que vous avez besoin de connaître l'espace blanc (non montré ci-dessus).



peut-être qu'un regex pourrait marcher?

1
répondu Michael Blake 2011-03-30 16:31:37

consultez L'option de menu TextFX. On dirait qu'il soutient la recherche de ligne multiple.

0
répondu Michael Blake 2011-04-05 13:24:02