2013-08-27 22:50:27 +0000 2013-08-27 22:50:27 +0000
18
18

Utilisation du joker de recherche/remplacement dans Notepad++

Voici mon problème : dans un . txt, je dois trouver et remplacer des milliers d'instances de syntaxe comme celle-ci :

(voir (a053007djfgspwdf))

ou

(voir (a053007djfgspwdf) et (a54134xsedgeg))

ou

(voir (a053007djfgspwdf), (a9554xsdfgsdfg) et (a54134xsedgeg))

Il existe une grande variété de chaînes de texte entre le début (voir (a et la fin )). Cela peut-il être configuré dans Notepad++ en utilisant la regex ? Si oui, comment faire ? Merci !

Réponses (5)

18
18
18
2016-03-02 12:14:25 +0000

Désolé les amis, je trouve juste que les autres réponses sont compliquées. (Sans vouloir manquer de respect aux affiches originales.)

Comme cela apparaît toujours comme premier résultat de recherche, je vais ajouter ceci dans :

  1. Ouvrez le dialogue de recherche/remplacement (CTRL+F puis l'onglet de remplacement)
  2. Cochez “Expression régulière” en bas
  3. Utilisez .* comme joker

Par exemple, je voulais supprimer toutes les instances de abp=“1314”, abp=“1313”, abp=“1312” etc (en fait, les chiffres sont tous différents, c'est pourquoi vous voulez un joker pour les éliminer). Dans la boîte de dialogue de remplacement :

Trouver dans quoi : abp=".*" Remplacer par :

(Vous remplacez tout ce qui se trouve dans ces guillemets par rien pour vous en débarrasser)

Source : https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

15
15
15
2013-08-27 23:09:56 +0000

Oui, c'est possible ! Notepad++ dispose d'un mode de recherche RegEx que vous pouvez sélectionner pour tous vos besoins de remplacement RegEx.

L'exemple ci-dessous est un remplacement de base pour tout ce qui se trouve entre (see (a...)) à l'exception d'un saut de ligne. Vous pouvez avoir besoin de modifier le RegEx ou d'écrire le vôtre pour répondre à vos besoins. Vous trouverez ici ](http://www.regular-expressions.info/tutorial.html) un endroit idéal pour vous aider à faire des expériences.

RegEx : \(see \(a.+\)\)

Cordes assorties:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))

1
1
1
2016-03-24 15:43:35 +0000

Comme certaines d'entre elles étaient trop approfondies pour que je les comprenne, laissez-moi vous montrer ce que j'ai fait après avoir lu toutes ces solutions et plus encore pour enfin mieux les comprendre. (c'est une approche simple, ce n'est peut-être pas la meilleure)

Je voulais supprimer tous mes éléments figure sur l'ensemble de la page web. Figure 2.1,Figure 1.1,ect._

C'était :

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Je voulais que ça finisse par :

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar</p>

Mais chaque

avait un numéro de figure différent, alors je l'ai utilisé dans le texte sublime 2.

  1. ctrl H
  2. cliquez sur le symbole “.*” en bas à droite du texte sublime 2, (regex)
  3. tapez <br><b>Figure.*</b>
  4. remplacez par : -Cette opération a remplacé toutes mes instances par des chiffres. Notez que j'ai utilisé le symbole “.*” à l'endroit où les chiffres auraient été. J'espère que cela vous aidera.
1
1
1
2013-08-28 16:51:42 +0000

Essayez ce modèle : \(see \(a(.*)\) et assurez-vous d'avoir “. matches newline” non coché et “wrap around” coché.

0
0
0
2013-09-03 05:05:59 +0000

La regex exacte dont vous auriez besoin est :

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Par exemple :

En sélectionnant Find All in Current Document, le résultat serait :

Vous pouvez simplement utiliser Replace selon votre besoin à la place.

Si vous voulez inclure le a aussi dans la regex, vous pouvez utiliser :

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)