Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Suchen/Ersetzen mit Regulären Ausdrücken

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
diana
Gast





BeitragVerfasst am: 09. Nov 2002 22:28   Titel: Suchen/Ersetzen mit Regulären Ausdrücken

nabend,
Ich soll die Webseiten meines Vorgängers von reinem HTML nach xhtml trimmen und noch ein paar kleinere Änderungen vornehmen. Es läuft ganz gut, einige Probleme habe ich dabei allerdings noch. Ein Freund riet mir mit "Regulären Ausdrücken" automatisiert die entsprechenden Fragmente durch die neuen Teile ersetzen zu lassen. REs scheinen allerdings ein recht kompliziertes Thema zu sein, bin ehrlich gesagt ein wenig überfordert. Ich kann mit grep aus ps aux nach kmail suchen, und seit heute auch ein sed 's/X/Y/g' datei.html aber das wars dann aber auch schon. :(

Daher möchte ich euch um ein paar Hinweise und Lösungsvorschläge bitten.

Ich bin auf der Suche nach einer RE die mir von einem bestimmten Tag X bis zu einem bestimmten Tag Y (die Tags eingeschlossen) alles auswählt.

Als Beispiel:

code:

<html>
<head>
<title>Meine Seite</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
<link rel="stylesheet" href="styles.css" media="screen" title="stylesheet">
</head>



Jetzt sollten alle Zeichen zwischen <html> und </head> "markiert"/gefunden werden, sodaß ich sie austauschn könnte...

Bin wirklich für jeden Vorschlag dankbar!
 

Jochen
Gast





BeitragVerfasst am: 11. Nov 2002 10:31   Titel: Re: Suchen/Ersetzen mit Regulären Ausdrücken

Mit einem einzigen RA wirst Du hier wohl nicht weit kommen, da ein RA per Definition zeilenbasiert arbeitet, d.h. ein Treffer nicht über ein Newline hinaus gehen kann. Daher haben die meisten Tools in denen es sinnvoll ist, einen Bereich zu definieren, die Möglichkeit 2 RAs anzugeben:
code:

awk '/RA1/,/RA2/ {
print "Diese Aktion wird für alle Zeilen"
print "von RA1 bis RA2 ausgeführt"
}'

sed '/RA1/,/RA2/s/RA3/Ersatz/'

Bei sed wird das Substitute-Kommando (RA3 durch Ersatz) für alle Zeilen abgesetzt, die zwischen RA1 und RA2 liegen.

Ein letzter Punkt noch: HTML/XHTML erlaubt es m.E. doch, dass innerhalb eines Tags ein Zeilenumbruch stattfinden darf, oder? Dann wird es schwierig mit der Definition der passenden RAs. Ich hoffe, Dein Vorgänger hat so was nicht gemacht.

Je nachdem, wieviel Zeit Du investieren willst, wäre vielleicht der Einsatz von lexx/yacc, d.h unter Linux der Einsatz von flex/bison interessant. Aber das ist wirklich viel Aufwand und ziemlich sicher Overkill für Deine Zwecke.


Jochen
 

bernd
Gast





BeitragVerfasst am: 11. Nov 2002 14:45   Titel: Re: Suchen/Ersetzen mit Regulären Ausdrücken

vom w3c, also www.w3.org gibt es das "HTML-Kit".
Das ist ein Editor mit ein paar netten Zusatzfeatures:
für dich wäre
die HTML->XHTML - Konvertierfunktion interessant.
Habs zwar noch nicht ausprobiert, ist aber sicherlich standard-konform,
da wie gesagt, vom W3C selbst.
Vorraussetzung ist vermutlich, dass der "vorgänger-quelltext"
irgendeinem HTML-Standard entspricht (idealerweise wahrscheinlich "strict HTML 4.01")
gruss bernd
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy