2012-02-02 19 views
18

estoy tratando de reemplazar todas las etiquetas H2 que contienen la clase "título" con h1:simple TextWrangler Grep Reemplazar

<h2 class="title">Things</h2> 

estoy usando la búsqueda de varios archivos en TextWranger con esto:

<h2 class="title">[^>]*</h2> 

Puedo encontrar todo, pero cuando toco replace, reemplaza mis títulos con grep crap.

BEFORE: <h2 class="title">Things</h2> 
AFTER: <h1 class="title">[^>]*</h1> 

Mi problema es que la búsqueda no sólo sustituye a mis etiquetas, pero también reemplaza el contenido de mi con [^>] *. También probé esto en Aptana y sucedió lo mismo. Apreciaría alguna idea.

Respuesta

34

Parece que está convirtiendo <h2 class="title"> en h1? Usted tiene que utilizar una referencia hacia atrás en su "reemplazar":

Buscar: <h2 class="title">([^>]*)</h2>

Reemplazar: <h1 class="title">\1</h1> (aside- si es un h1 ¿todavía quiere preservar la 'clase = 'título''?)

Tenga en cuenta los corchetes en la búsqueda de expresiones regulares, que guardan lo que hay dentro de ellos.

continuación, utiliza \1 a tirar de ellos en el texto sustituir (\ 1 para el primer conjunto de corchetes, \ 2 para el segundo, ...)

+0

Gracias, el retro-referencia fue precisamente mi problema. –