Suchen und Ersetzen mit regulären Ausdrücken in Geany

Beim Editieren eines Html-Dokuments stieß ich kürzlich auf eine kleine Unannehmlichkeit: Innerhalb eines <a href="#" class="chief">[TEXT]</a>-Elements sollten vor dem schließenden Tag noch zusätzliche Inhalte eingefügt werden. Prinzipiell nicht weiter wild, aber dieses Konstrukt kam über 30 Mal im Dokument vor und der Anker-Text änderte sich pro Element. Mit einem einfachen Suchen und Ersetzen kam ich also nicht weit, da die Anker-Elemente durch den wechselnden Text einzigartig waren. Und alle Elemente manuell ersetzen kam nicht in Frage. Was also tun? Die Antwort hieß reguläre Ausdrücke. Die IDE meiner Wahl, Geany, erlaubt im Suchen-und-Ersetzen-Dialog die Verwendung der Option „reguläre Ausdrücke“, daher probierte ich ein wenig herum, fragte Kollegen und kam schließlich durch die Hilfe von David auf folgendes:

Suchmuster

(<a href="#" class="chief">)([^<]+)(</a>)

Ersetzungsmuster

\1\2 <i class="icon link" aria-hidden="true"></i>\3

Vereinfacht gesagt sucht Geany also nach allen a-Elementen mit der Klasse chief und setzt vor dem schließenden Tag <i class="icon link" aria-hidden="true"></i> ein.

Funktionierte tadellos und wird sicherlich noch öfter genutzt werden.