Búsqueda de código de Visual Studio y reemplazo con expresiones regulares

116

Quiero usar "Buscar y reemplazar" en código de Visual Studio para cambiar todas las instancias de <h1>content</h1>que #### contentdentro de un documento utilizando una expresión regular.

¿Cómo puedo lograrlo?

Tom
fuente
2
¿Tiene que ser una búsqueda y reemplazo de expresiones regulares? ¿Podría simplemente reemplazar <h4>con #### y luego reemplazar </h4>con ''?
Brett East

Respuestas:

190

Entonces, ¿su objetivo es buscar y reemplazar?
De acuerdo con el pdf de atajos de teclado de Official Visual Studio, puede presionar Ctrl + Hen Windows y Linux , o ⌥⌘Fen Mac para habilitar la herramienta de búsqueda y reemplazo:

Pestaña de búsqueda y reemplazo de Visual Studio Code Si quiere deshabilitar el código, solo tiene que <h1>buscar y reemplazar ####.

Pero si desea utilizar esta expresión regular en su lugar, puede activarlo en el icono: . *y el uso de la expresión regular: <h1>(.+?)<\/h1>y reemplazar a: #### $1.

Y como sugirió @tpartee , aquí hay más información sobre el motor de Visual Studio si desea obtener más información:

Mateus
fuente
3
Visual Studio manejará la expresión regular como cualquier otra aplicación, la única diferencia son los llamados sabores de expresiones regulares, que es el 'compilador' de la expresión regular y cómo tratará la expresión. Por lo general, se ignora en respuestas como estas porque la mayoría de ellas son bastante similares, pero para aquellos que aún quieren verificarlo, lo agregué a la respuesta
Mateus
2
La pregunta es sobre Visual Studio Code, y esta respuesta es sobre Visual Studio.
Dustin Wyatt
1
o cambie sus combinaciones de teclas. Ejemplo: mediante combinaciones de teclas IDEA ( marketplace.visualstudio.com/… ) puede usar: Ctrl + Shift + R para Reemplazar en la ruta o para Buscar en la ruta: Ctrl + Shift + F
SL5net
6

Para los principiantes, quería agregar algo a la respuesta aceptada, porque un par de sutilezas no estaban claras para mí:

Para buscar y modificar texto (no reemplazar completamente),

  1. En el paso "Buscar", puede usar expresiones regulares con "capturar grupos", por ejemplo, su búsqueda podría ser la la la (group1) blah blah (group2), usando paréntesis.

  2. Y luego, en el paso "Reemplazar", puede consultar los grupos de captura mediante $1, $2etc.

Entonces, por ejemplo, en este caso podríamos encontrar el texto relevante con solo <h1>.+?<\/h1>(sin paréntesis), pero poner entre paréntesis <h1>(.+?)<\/h1>nos permite hacer referencia a la subcoincidencia entre ellos como $1en el paso de reemplazo . ¡Frio!

Notas

  • Para activar Regex en el widget de búsqueda, haga clic en el .*icono o presioneCmd/Ctrl Alt R

  • $0 se refiere a todo el partido

  • Finalmente, la pregunta original establece que el reemplazo debería ocurrir "dentro de un documento", por lo que puede usar el "Widget de búsqueda" ( Cmdo Ctrl+ F), que es local al documento abierto, en lugar de "Buscar", que abre una interfaz de usuario más grande. y busca en todos los archivos del proyecto.

Tedskovsky
fuente
0

Asegúrese de que Coincidir con mayúsculas y minúsculas esté seleccionado con Usar expresión regular para que coincida. [AZ] * Si no se selecciona el caso de coincidencia, esto coincide con todas las letras.

David Morrow
fuente
-3

Pruébelo aquí: Regex Storm

Ejemplo:

Regex: <option value=".*.">|</option>

Texto:

<option value="1">Something</option>

Resultado:

Alguna cosa

JOSÉ DE JESÚS BECERRA VÁZQUEZ
fuente