bob: Reguläre Ausdrücke

Hallo,

vielleicht kann mir einer helfen ich blicke da nicht durch.
Ich muss etwas suchen und ersetzen und zwar habe ich viele unterschidliche Links und möchte "gross" durch "info" ersetzen.

Hier ein Beispiel:

<a class="butbild" href="../Skulpturen_Info/Chostery_Kagore_gross2.htm">2</a>  
<a class="butbild activ" href="../Skulpturen_Info/Chairos_Muchembere_gross1.htm">1</a>

Bei den Dateinamen soll der Teil "gross" durch "info" ersetzt werden, der rest soll bleiben. Ausserdem darf alles nur in den <a>-tags ersetzt werden, weil ich auch Bilder habe die auch das wort "gross" beinhalten.

Also das Ergebnis sollte so ausehen:

<a class="butbild" href="../Skulpturen_Info/Chostery_Kagore_info2.htm">2</a>  
<a class="butbild activ" href="../Skulpturen_Info/Chairos_Muchembere_info1.htm">1</a>

Kann man das mit Hilfe regulärer Ausdrücke in Dreamweaver lösen?

Danke und Gruss, Bob

  1. Hello out there!

    Hier ein Beispiel:
    <a class="butbild" href="../Skulpturen_Info/Chostery_Kagore_gross2.htm">2</a>
    Also das Ergebnis sollte so ausehen:
    <a class="butbild" href="../Skulpturen_Info/Chostery_Kagore_info2.htm">2</a>

    Kann man das mit Hilfe regulärer Ausdrücke in Dreamweaver lösen?

    Ich kenne Dreamweaver nicht – aus gutem Grund. Aber wenn der Suchen und Ersetzen mit regulären Ausdrücken beherrscht ...

    Dein Suchmuster muss also mit '<a ' anfangen; dann kommt irgendwas '.*', was du dir merken musst, also klmmern: '(.*)'; dann soll es 'gross' enthalten.

    Du suchst also nach '<a (.*)gross' und ersetzt durch '<a \1info'

    Die Referenz auf den ersten gespeicherten Wert '\1' ist die Syntax von TextPad, mag sein, dass das anderswo '$1' heißt.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Ich kenne Dreamweaver nicht – aus gutem Grund. Aber wenn der Suchen und Ersetzen mit regulären Ausdrücken beherrscht ...

      Dein Suchmuster muss also mit '<a ' anfangen; dann kommt irgendwas '.*', was du dir merken musst, also klmmern: '(.*)'; dann soll es 'gross' enthalten.

      Du suchst also nach '<a (.*)gross' und ersetzt durch '<a \1info'

      Die Referenz auf den ersten gespeicherten Wert '\1' ist die Syntax von TextPad, mag sein, dass das anderswo '$1' heißt.

      Ich danke dir, werds ausprobieren! DW kann reguläre Ausdrücke.

      gruss...

    2. gudn tach!

      Kann man das mit Hilfe regulärer Ausdrücke in Dreamweaver lösen?

      Ich kenne Dreamweaver nicht – aus gutem Grund.

      geht mir ebenso.

      Aber wenn der Suchen und Ersetzen mit regulären Ausdrücken beherrscht ...

      Dein Suchmuster muss also mit '<a ' anfangen; dann kommt irgendwas '.*', was du dir merken musst, also klmmern: '(.*)'; dann soll es 'gross' enthalten.

      Du suchst also nach '<a (.+)gross' und ersetzt durch '<a \1info'

      sowas geht oft schief, weil regexp-engines i.a.r. greedy arbeiten und deswegen z.b.
        /<a .*gross/
      in
        <a href="gross"><img src="gross" /></a>
      folgendes matchen wuerde:
        <a href="gross"><img src="gross
      .

      allerdings laesst sich das problem durch die einfache umwandlung in einen non-greedy ausdruck /<a .+?gross/ auch nicht loesen, denn auch in
        <a href="klein"><img src="gross" /></a>
      wuerde
        <a href="klein"><img src="gross
      gematcht.

      deswegen sollte es eher sowas sein (perl-syntax):

      s/(<a [^>]+)gross/$1info/g

      prost
      seth