Comment puis-je Trouver/Remplacer une partie d'une recherche de génériques dans Notepad++
Exemple Simple.
Quand je suis en train de modifier le CSS.
Je veux Trouver tous les "milieux", indépendamment de la séquence de nombres, donc je suis en utilisant .*
~~~Exemple:
Trouver background: #.*;
(4 Matches)
Line12: arrière-plan: #111111;
Line24: arrière-plan: #222222;
Line36: arrière-plan: #333333;
Line48: arrière-plan: #444444;
"Trouvé (#) de lignes correspondant à"
Super, fonctionne parfaitement!
(La partie suivante est la où je vais avoir des ennuis)
Maintenant, je veux le Remplacer, ou dans ce cas, l'envelopper de toutes ces lignes avec /* */, sans enlever les numéros de l'individu.
(Pour supprimer certains milieux, lorsque j'ai terminé la modification de la page.)
~~~Exemple:
Remplacer Avec /* background: #.*; */
Ne me donne ceci:
Line12: /* background: #111111; */
Line24: /* background: #222222; */
Line36: /* background: #333333; */
Line48: /* background: #444444; */
Au lieu de cela, elle me donner ce:
Line12: /* background: #.*; */
Line24: /* background: #.*; */
Line36: /* background: #.*; */
Line48: /* background: #.*; */
Je ne peux pas comprendre comment garder les numéros (quelle que soit la variété de combinaisons) à partir de la modification dans le code et d'en ajouter /* autour du code */
OriginalL'auteur MatrixNinja | 2014-05-22
Vous devez vous connecter pour publier un commentaire.
Modifier votre recherche de quelque chose d'un peu moins tributaires d'avoir un espace (dites que vous appuyez sur " tab " sur un ou deux).
Et pour votre foyer, utilisation:
Ce que vous ne parviennent pas à faire, c'était de capture correspondant à la valeur pour les réutiliser dans vos remplacer les regex. La () dans la recherche de magasin dans un paramètre qui peut être utilisé comme \1.
Pour inverser cette, recherche pour
\/\* (background:.*?;) \*\/
et de le remplacer avec\1
.. vous n'avez pas à vous soucier du nombre de places cette fois-ci, depuis la première recherche que vous avez spécifié un espace après le " / * et avant l' */. Si vous ne voulez à vous soucier de ce que vous pouvez encore améliorer votre expression régulière pour gérer d'éventuels espaces multiples.ouf réponse est inexacte, mais à proximité. Depuis hex codes de couleur allant de 0 à F, vous aurez besoin de match sur
[0-9A-Fa-f]+
à l'intérieur de la()
La PERFECTION!! Je pensais exactement la même chose sur le nombre seul système. Homme très gentil, me fait gagner beaucoup de temps!
OriginalL'auteur ubergoober
Modèle de recherche:
background: #([0-9]+);
Remplacer:
/* background: #\1 */
([0-9]+) correspond au numéro et l'enregistrer dans un groupe de \1. Vous pouvez ré-utiliser \1 dans le "Remplacer".
La première réponse est un moyen de mieux regex que la mienne, la mienne est très générique. Vous pouvez étendre par les lettres de A à F comme ceci:
(background: #[0-9a-fA-F]{6};?)
et l'utilisation/* \1 */
de remplacement. Il correspond également àbackground: #DEDEDE
, d'où le dernier attribut CSS dans une feuille CSS de la portée n'a pas besoin d'un point-virgule;
, iirc. Aussi il ne serait que de correspondre à un colorcode qui est de 6 caractères de long. Ma réponse a été rapide, il peut être considéré comme une mauvaise pratique, mais j'ai l'habitude d'utiliser paresseux générique regex avec une vaste correspondance de-gamme pour des questions comme ça, tant qu'ils font leur travail.Nice, c'est bon pour d'autres choses aussi. Je ne pense pas que les meilleures pratiques s'appliquent à l'utilisation de l'édition avec des outils, la mise en œuvre du code. De toute façon, j'aime les deux réponses pour des raisons différentes. Merci pour les détails, je suis sûr que je peux utiliser ce quelque part le long de la ligne. Ma question était une sorte de générique en lui-même de sorte qu'il n'a pas besoin de beaucoup de profondeur pour une réponse. Très apprécié..=D
Haha ouais, vous devriez probablement passer beaucoup plus de temps à faire la regex que la mise en œuvre elle-même, si vous deviez aller dans le "bon chemin" avec des questions comme la mise en commentaires. La regex est loin d'être complète, considérant qu'il ya peut être d'autres
background
des valeurs commebackground: #00ff00 url('image.gif') no-repeat fixed center;
oubackground: red
. Regex est une science sur son propre, très utile. Np, bonne nuit!OriginalL'auteur phew