Zunächst einmal weiß ich, dass man nicht versuchen sollte, XML mit Regex zu verändern, aber dies ist ein spezieller Fall, in dem ich das sowieso tun muss und keinen Parser verwende.
Ich will das:
<nicetag_A-B>Teststring X-Y</nicetag_A-B>
So soll es aussehen:
<nicetag_>Teststring X-Y</nicetag_>
Kurz gesagt, ich möchte [any letter]-[any-letter] entfernen, aber nur aus dem Tag, nicht aus dem eigentlichen Inhalt.
Dies ist meine bisherige Regex:
Regex.Replace(inputString, @"(<.*?[a-zA-Z])\-([a-zA-Z].*?>)", "$1$2");
Das Problem dabei ist, dass es nur für das obige Beispiel funktioniert. Würde der Tag ohne A-B benannt, würde stattdessen der innere Inhalt (X-Y) ersetzt werden.
Irgendwelche Ideen?