2010-04-22 8 views

Répondre

28

Si vous avez besoin exactement 3 numéros, ce qui suit est testé dans le bloc-notes ++:

width=\d\d\d[^\d] 

lecture plus loin dans vos besoins, vous pouvez utiliser la fonction de marquage:

Find what: width=(\d\d\d)([^\d]) 
Replace with: width="\1"\2 

Ici, le (n Les parties entre parenthèses de l'expression rationnelle sont stockées (en séquence) sous la forme \ 1, \ 2, ... \ n, ce qui peut être mentionné dans le champ de remplacement.

En tant que moteur regex, notepad ++ est pauvre. Here est une description de ce qui est supporté. Assez basique.

+2

Donc, il ne supporte pas '{3}' mais supporte les classes de caractères négationnistes (ce qui n'est pas toujours supporté?) quel genre de folie "Regular Expressions" ont-ils mis dans Notepad ++ ??? – gnarf

+0

Bien qu'il supporte \ d, qui ne figure pas sur cette page, je suppose que cette page est inexacte et périmée. J'ai utilisé \ s + et \ t. – jmanning2k

+0

La largeur = "\ 1" \ 2 remplace feuilles width = "", donc il semble que le \ 1 ne renvoie aucun chiffre – atwellpub

9

en regardant le Notepad++ Regular Expression list il ne semble pas soutenir la notation {n} pour correspondre n caractères, donc \d{3} ne fonctionne pas.

Cependant, ce qui avait fonctionné pour moi et peut être considéré comme un hack était: \d\d\d

testé dans Notepad ++ et a travaillé, pour l'utilisation du champ Rechercher (\d\d\d) et pour remplacer l'utilisation "\1"\2 déposée.

+0

Ce fut une largeur de succès = \ d \ d \ d, mais je suis à la perte sur ce qu'il faut régler le remplacer pour conserver les 3 numéros – atwellpub

2
/(width=)(\d+?)/gim 

Parce que vous voudrez peut-être des chiffres variables. Certaines largeurs peuvent être de 8, 15 ou 200, ou peu importe.

Si vous souhaitez spécifier une plage, vous le faites comme ceci:

/(width=)(\d{1,3)/gim 

où le 1 représente la limite inférieure et la figure 3 représente la partie supérieure.

J'ai regroupé les deux parties de l'expression, donc quand vous remplacez vous pouvez garder la première partie et ne pas la souffler.

2

Essayé: remplacer width=([0-9][0-9][0-9]) avec width="\1" et a bien fonctionné ... Bien sûr peut-être pas la meilleure syntaxe pour faire cela, mais il fonctionne ...

6

Comme Tao a commenté, de la version 6, Notepad ++ soutient PCRE.

Alors maintenant, vous pouvez écrire:

\d{1,5} 
+0

J'ai testé en 6.3, il dit "Expression régulière incorrecte" ... Il devrait être '\ d {1,5}' – mrdaliri

+0

Merci, corrigé. –

+0

Génial! Juste ce que je cherche. Utilisez '\ d {10}', par exemple, pour trouver une chaîne de 10 nombres. – thatWiseGuy

Questions connexes