RegExp - HTML CLASS="....." ersetzen

TIMS_Ralf

Erfahrenes Mitglied
Hallo!
Bin mit RegExp in diesem Forum evtl. falsch, finde bei Euch aber kein Regular Expression-Forum :-)
Also: Möchte in einigen HTML-Seiten die Attribute der CSS-Klassen ändern, wie z,B.:

HTML:
<!-- Ist: -->CLASS="Tx00"
<!-- Ersetze nach: --> CLASS="Tx10"

Möchte also die "00" aus CLASS="Tx00" durch "10" mittels RegExp ersetzen - dann also CLASS="Tx10"
RegExp Suche: CLASS="([a-zA-Z]*)00" - funktioniert einwandfrei
Replace Ersetz: CLASS="$1 10" - Funktioniert NICHT
Die Variable $1 findet und ersetzt er. Sobald ich die "10" zum Ersetze hinten anfüge, funzt es nicht mehr.

Ich schätze die Variable $1 muß irgendie separiert werden.... oder so.... damit danach weitere Zeichen und die abschließenden Gänsfüßen folgen und ersetzt werden können !?

Frage:
Wie bekomme ich die "10" hinter "CLASS="Tx" und vor die schließenden Gänsefüßchen ?

SShot_RegExp_01.jpg

Danke Euch schon mal....!
 
Zuletzt bearbeitet:
Du klammerst falsch.die 00 Sind Fix und werden nicht extrahiert.

Eine Möglichkeit ist das davor und das danach in KLammern zu setzen
Code:
Pattern: (CLASS="\w{2})00(")
Replace: $110$2

Oder du arbeitest mit Look Behind und Look bevore
Code:
Pattern: (?<=CLASS="\w{2})00(?=")
Replace:  10
Test regex101: build, test, and debug regex
1740941907224.png

Und falls anstelle von " auch ' vorkommen können
Code:
Pattern (?<=CLASS=(['"])\w{2})00(?=\1)
Replace 10
Test: regex101: build, test, and debug regex
1740942127346.png
 
Zuletzt bearbeitet:
Hallo Yaslaw,

WOW... na das ist ja mal ne Antwort! Super, vielen Dank!

Lösung 2 und 3 laufen, sind mit mir aber neu ("Look behind und book before"). Muß ich mir mal im Detail anschauen.

Lösung 1 matcht zwar, aber ersetzt falsch... ähnlich wie mein Ansatz :)

SShot_RegExp_02.jpg

Wenn Du magst, würde ich Dich gerne mal öfter wg. RegEx anfragen.
OK ?

TOP - Danke !
 
Hab grad rasch geforscht. Bei $110$2 will er $110 auslesen. Und nIcht $1 gefolgt von einer 10.
Mit dem folgenden Ersetzungstext gehts bei vielen Parsern
Code:
${1}10${2}

Du kannst jederzeit fragen. Am besten hier im Forum, es gibt noch andere RegEx Kenner.
 
Zurück