+ Antworten
Ergebnis 1 bis 5 von 5

Thema: regex problem

  1. #1
    TP-Junior snoopi macht alles soweit korrekt
    Registriert seit
    Aug 2007
    Beiträge
    6

    regex problem

    Hallo,

    muss eine sehr große Website anpassen u. u.a., falls ich keine Lösung zu folgendem Problem finde, in ca. 4000 html's 3 Zeilen per Hand rauslöschen. Ich hab die site nicht programmiert u. es liegen keine Templates vor, deswegen hoffe ich, das ganze mit regex automatisieren zu können:
    also das Problem:

    ich will eine Zeile

    HTML-Code:
    <li ><a  href="[B]../../../it/desktopdefault.aspx/tabid-11/[/B]index.html" title="Italiano" >Italiano</a></li>
    suchen lassen u. löschen. Diese steht in ca. 4000 Dateien, wobei der fette Teil jeweils variiert.

    Hab's mit Inforapid Search & Replace versucht mit dem Suchstring:

    (^<li ><a href=") & (index.html" title="Italiano" >Italiano</a></li>$)

    also jede Zeile, die sowohl mit <li ><a href=" beginnt als auch mit index.html" title="Italiano" >Italiano</a></li> endet, soll gefunden werden u. die gesamte Zeile mit Leerzeile ersetzt werden.
    Funktioniert aber nicht. Er will das '&' nicht ausführen, er führt dann alle Zeilen auf, die entweder mit <li ><a href=" beginnen oder mit index.html" title="Italiano" >Italiano</a></li> enden.

    Mit dem logischen oder | hab ich es auch schon versucht.

    Wie mach ich das? Wenn Inforapid Search & Replace es nicht kann, welche Software dann? (die alle Dateien der Site scannt u. diese Zeile rauslöscht)

    Vielen Dank
    Gerri

  2. #2
    TP-Special Mod webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User webmichl lebt für das TP und seine User Avatar von webmichl
    Registriert seit
    Jun 2001
    Ort
    8°21' O 49°1' N
    Beiträge
    8.635
    Welche Zeilen(inhalte) willst Du den genau finden? Die mit <li> und title="italiano"?

    Da würde ich nach

    /^<li><a[^>]+title="italiano".*</li>$/

    suchen (die Zeile fängt mit einem <li> an, gefolgt vom einem Link, dessen Title-Tag italiano lautet und die mit dem </li>-Tag endet).

    Wenn nicht, präzisier doch bitte Deinen Suchwunsch.


    PS: ist's ein Tipp- oder ein Denkfehler, daß Du die Zeichen für die logischen Verknüpfungen nur einfach dargestellt hast? Ein UND wird durch ein && dargestellt, ein ODER durch ein ||

    Gruß, der Michl



    * * * if you want them to RTFM, make a better FM! * * *


  3. #3
    TP-Junior snoopi macht alles soweit korrekt
    Registriert seit
    Aug 2007
    Beiträge
    6
    Hallo webmichl,

    danke für die schnell Antwort.

    Gefunden werden soll die komplette im Startbeitrag angegebene Zeile und diese dann durch eine Leerzeile ersetzt werden.
    Der variierende Teil der Zeile ist der Pfad, also bei der angegebenen Zeile unten ../../../it/desktopdefault.aspx/tabid-11/

    Dein Vorschlag fkt. auch nicht, obwohl es von der Logik her eigentlich passen sollte. Weiß nicht, ob es an Inforapid S&R liegt oder regex-mäßig was nicht passt.
    Habs auch mit

    <li ><a href=" + index.html" title="Italiano" >Italiano</a></li>

    versucht. Fkt. natürlich auch nicht. Hier fehlt wohl noch der variierende Pfadteil.
    Ich brauch einen regex-Ausdruck, der die komplette, u. zwar nur diese, Zeile

    ^<li ><a href=" + variierender Pfad + index.html" title="Italiano" >Italiano</a></li>$

    findet, so dass das 'Search&Replace'-Programm die ganze Zeile (nicht nur einen Teil davon) markiert u. ersetzt.

    Ich hab nur einfaches & bzw. | verwendet, da es bei 'S&R' eine Operator-Einfügefunktion gibt, u.a. eben für and u. or, u. dabei wird nur ein einfaches & bzw. | eingefügt.
    Wie gesagt, ich weiß nicht, ob 'S&R' was falsch macht oder meine regex-logik falsch ist.

  4. #4
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    /^<li ><a href="[\w./]+index.html" title="Italiano" >Italiano</a></li>$/
    sollte eigentlich matchen

    | ist in regular Expressions schon richtig (anders als in php, wo das ein Bit-Operator ist), dann aber so
    (expr1|expr2|expr3)


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  5. #5
    TP-Junior snoopi macht alles soweit korrekt
    Registriert seit
    Aug 2007
    Beiträge
    6
    Hallo steffenk,

    hat leider auch nicht funktioniert.
    Nachdem ich mich jetzt damit begnügt habe, nicht mehr die ganze Zeile zu löschen, sondern sie einfach auszukommentieren, u. dazu reicht es ja, die festen Teile Beginn u. Ende der Zeile zu finden, bin ich jetzt auf der Lösungssuche für ein anderes Problem auch auf die Lösung für das hier gekommen, nämlich einfach
    .* für den variablen Teil, also
    <li ><a href=".*" title="Italiano" >Italiano</a></li>

    damit erkennt er die komplette Zeile u. kann durch Leerzeile ersetzt werden.

    Noch ein programm-tipp, weil es mir gerade sehr viel Arbeit erspart u. sehr übersichtlich ist: AJC Grep
    Hier kann man z.B. auch nur einen Teil des gefundenen Strings ersetzen lassen, z.B. bei oberem Bsp. Italiano durch espanol:
    replace sub match: Italiano" >Italiano</a></li>
    New text: Expanol" >Espanol</a></li>

    Regex-profis kann das sicher nur ein müdes Lächeln entringen, aber ich finds super.

+ Antworten

Ähnliche Themen

  1. RegEx - Problem
    Von webdepp im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 09.03.2007, 00:22
  2. [RegEx] Problem mit polnischen Wörtern
    Von phpBuddy im Forum Traum-Dynamik
    Antworten: 7
    Letzter Beitrag: 12.10.2006, 22:41
  3. [RegEx] kleines problem mit anführungszeichen
    Von cinteX im Forum Traum-Dynamik
    Antworten: 11
    Letzter Beitrag: 11.11.2005, 13:34
  4. RegEx
    Von Nico im Forum Traum-Dynamik
    Antworten: 9
    Letzter Beitrag: 03.05.2005, 20:11
  5. Suche JS Regex für spezielles Problem...
    Von mike im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 03.04.2003, 16:55

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51