2010-04-22 139 views

Respuesta

28

Si necesita exactamente 3 números, se prueba lo siguiente en Notepad ++:

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

lectura más lejos en su requerimiento, puede utilizar la característica de etiquetado:

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

Aquí, el (n) las partes entre corchetes de la expresión regular se almacenan (en secuencia) como \ 1, \ 2, ... \ n a las que se puede hacer referencia en el campo de reemplazo.

Como motor de expresiones regulares, el bloc de notas ++ es deficiente. Here es una descripción de lo que es compatible. Bastante básico.

+2

Por lo tanto, no admite '{3}', pero sí admite la negación de clases de caracteres (¿qué no siempre es compatible?) ¿qué tipo de locura de "Expresiones regulares" pusieron en Notepad ++ ??? – gnarf

+0

Aunque sí admite \ d, que no figura en esa página, entonces sospecho que la página es incorrecta y está desactualizada. He usado \ s + y \ t. – jmanning2k

+0

El ancho = "\ 1" \ 2 reemplaza el ancho de las hojas = "", por lo que parece que el \ 1 no devuelve ningún dígito – atwellpub

9

Mirando el Notepad++ Regular Expression list no parece apoyar la notación {n} para que coincida con n caracteres, por lo \d{3} no funcionó.

Sin embargo, lo que había trabajado para mí y puede ser considerado como un truco era: \d\d\d

Probado en Notepad ++ y ha trabajado, para el uso en el campo Find (\d\d\d) y para el uso Reemplazar presentado "\1"\2.

+0

Este fue un éxito ancho = \ d \ d \ d, pero estoy en la pérdida de lo que para establecer el reemplazar a preservar los 3 números – atwellpub

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

Porque es posible que desee dígitos variables. Algunos anchos pueden ser 8, o 15, o 200, o lo que sea.

Si desea especificar un rango, lo haces de esta manera:

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

donde el 1 representa el límite inferior y el 3 representa la parte superior.

Agrupé ambas partes de la expresión, de modo que cuando la reemplace puede guardar la primera parte y no desperdiciarla.

2

probé: sustituir width=([0-9][0-9][0-9]) con width="\1" y funcionó bien ... Por supuesto, no podría ser mejor sintaxis para hacer esto, pero funciona ...

6

Como se comentó Tao, a partir de la versión 6, Notepad ++ soporta PCRE.

Así que ahora puede escribir:

\d{1,5} 
+0

Probé en 6.3, dice "Expresión regular incorrecta" ... Debería ser '\ d {1,5}' – mrdaliri

+0

Gracias, lo corrigió. –

+0

¡Impresionante! Justo lo que estoy buscando. Use '\ d {10}', por ejemplo, para buscar una cadena de 10 números. – thatWiseGuy

Cuestiones relacionadas