Existe-t-il un moyen de trouver un paragraphe?
Par exemple, je veux rechercher ce code:
<?php
$radio_buttons++;
}
?>
Mais lorsque j'essaie de copier cela dans la zone de recherche, il copie uniquement la première ligne, <?php
.
Il semble qu'il y ait certainement un moyen de le faire, mais je ne le trouve tout simplement pas. C'est peut-être un addon?
J'ai écrit une recherche multiligne et remplacez le module complémentaire pour Notepad ++, vérifiez-le ici: http://www.phdesign.com.au/programming/toolbucket-multi-line-search-plugin-for-notepad/
(source: phdesign.com.a )
Comme Xenovoyance le suggère, il est possible avec CTRL+R (également trouvé dans l'option de menu TextFX > TextFX Quick > Rechercher/Remplacer ):
Sélectionnez simplement votre texte à rechercher, puis invoquez cette option ...
MISE À JOUR: L'utilisateur Żabojad m'a fait réaliser que dans les dernières versions de Notepad ++, le " Le plugin TextFX "n'est pas installé par défaut, vous devrez donc d'abord faire deux choses:
Le plus simple: allez dans l'option de menu Plugins > Plugin Manager > Afficher Plugin Manager , faites défiler la liste des plugins disponibles jusqu'à " TextFX Characters " et Installez-le.
La méthode ci-dessus devrait fonctionner, mais sinon vous devrez aller sur cette page: http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/ et télécharger fichier TextFX.v0.26.unicode.bin.Zip
puis extrayez son contenu (ne copiez pas seulement le fichier Zip) dans le \plugins
sous-dossier du dossier d'installation de Notepad ++
Après avoir redémarré Notepad ++, vous verrez l'entrée de menu TextFX .
Depuis Notepad ++ 6.0 la recherche d'expression régulière pour plusieurs lignes fonctionne.
La recherche de votre code serait quelque chose comme
<?php.*\r\n.*$radio_buttons++;.*\r\n.*}.*\r\n.*?>
. * est juste un caractère générique 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 une description détaillée, voir la première réponse à cette question:
À ma connaissance, Notepad ++ ne prend pas en charge les expressions régulières multilignes, vous devrez donc le faire en remplaçant chaque saut de ligne par les caractères de saut de ligne représentatifs de votre système d'exploitation (très probablement \r\n
). Voir Rechercher CRLF dans Notepad ++ pour plus de détails.
Cntrl+C
le texte ci-dessus que vous souhaitez rechercher et Cntrl+V
dans un nouveau document vierge dans Notepad ++, puis sélectionnez-le à nouveau et appuyez sur Cntrl+F
. Vous verrez votre texte dans le champ "Rechercher" avec des espaces à onglets lorsque la ligne se rompt. Pas besoin de plugins.
J'ai trouvé le fil suivant sur un sujet connexe: recherche et remplacement d'expression régulière multiligne!
Je vous recommande d'essayer CTRL + R!
Plusieurs lignes peuvent être transmises pour rechercher et remplacer des champs uniquement lorsque les fins de lignes sont définies sur le formulaire Unix. Cela peut être fait via Édition> Conversion EOL> Unix
Vous pouvez ensuite copier manuellement le paragraphe de plusieurs lignes dans le champ de recherche.
Après cela, il suffit de reconvertir les fins de ligne vers Windows via Édition> Conversion EOL> Windows
Pour un Notepad ++ 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.
Il existe une solution:
Modifiez le mode de recherche sur Étendu et remplacez "return-newline" par \r\n
par exemple <?php\r\n $radio_buttons++;\r\n }\r\n?>
Le problème est que vous devez connaître l'espace blanc (non illustré ci-dessus).
Peut-être qu'un regex pourrait fonctionner?
Découvrez l'option de menu TextFX. On dirait qu'il prend en charge la recherche sur plusieurs lignes.