web-dev-qa-db-fra.com

Simple TextWrangler Grep Replace

J'essaie de remplacer toutes les balises h2 contenant la classe "title" par h1:

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

J'utilise la recherche multi-fichiers dans TextWranger avec ceci:

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

Je suis en mesure de tout trouver, mais lorsque je clique sur remplacer, il remplace mes titres par la merde grep.

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

Mon problème est que la recherche remplace non seulement mes balises mais remplace également mon contenu par [^>] *. J'ai également essayé cela à Aptana et la même chose s'est produite. J'apprécierais un aperçu.

21
Edward Pacino

Il semble que vous convertissiez <h2 class="title"> En h1? Vous devez utiliser une référence arrière dans votre "remplacement":

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

Remplacez: <h1 class="title">\1</h1> (À part - si c'est un h1 voulez-vous toujours conserver le 'class = "title"'?)

Notez les crochets dans l'expression rationnelle de recherche, qui enregistrent ce qu'ils contiennent.

Ensuite, vous utilisez \1 Pour les retirer dans le texte de remplacement (\ 1 pour le premier jeu de crochets,\2 pour le second, ...)

41
mathematical.coffee