Hallo !
Ich habe folgendes Problem, vielleicht ist es leicht zu lösen, aber ich sitze jetzt schon ewig vor der Kiste und bekomms nicht hin.
Ich habe mit HTML Parser in Perl das ganze HTML rausgezogen, klappt sehr nett. Alle Sonderzeichen, etc. sind auch weg, ich hab reinen Text in der Form:
textblablatext18:56UhrTextblablabla18:46Uhrblablabla
Ich möchte den Text vor den ersten Ziffern wegschneiden und dabei
den Text zwischen den Ziffern behalten.
Leerzeichen o.ä. sind nicht mehr vorhanden.
$_ =~ s%\w*Uhr%Testersatz%g;
klappt nicht.
Vielen Dank für die Erleuchtung:)
Hilfe bei RegEx Problem
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Mit sed könnte das so aussehen:
Ich weiss aber nicht, ob die regex-Variante bei Pörl genauso ist, da gibt es leider Unterschiede.
Gruss, mistersixt.
Code: Alles auswählen
mars:~# echo "textblablatext18:56UhrTextblablabla18:46Uhrblablabla " | sed 's/^[a-zA-Z]*//'
18:56UhrTextblablabla18:46Uhrblablabla
mars:~#
Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
-
- Beiträge: 7
- Registriert: 28.06.2004 13:50:55
Sorry, habe mich unpräzise ausgedrückt:
Das was ich mir aus dem Text ziehen möchte ist die erste Uhrzeitangabe
mit dem Text bis zur nächsten Uhrzeitangabe
Wenn der Text also z.B. so ist:
blabla15:33UhrTextwillich45haben17:19UhrTextw65illichaben
sollte mir das RegEx ausspucken:
15:33Textwillichhaben
17:19Textwillichhaben
Die Uhrzeit ist immer im Format: \d\d:\d\dUhr
Danke.
Volker
Das was ich mir aus dem Text ziehen möchte ist die erste Uhrzeitangabe
mit dem Text bis zur nächsten Uhrzeitangabe
Wenn der Text also z.B. so ist:
blabla15:33UhrTextwillich45haben17:19UhrTextw65illichaben
sollte mir das RegEx ausspucken:
15:33Textwillichhaben
17:19Textwillichhaben
Die Uhrzeit ist immer im Format: \d\d:\d\dUhr
Danke.
Volker
Hi!
Hier meine Lösung, nicht sehr schön, funktioniert aber (glaube ich ):
Gruß, <mawe>
Hier meine Lösung, nicht sehr schön, funktioniert aber (glaube ich ):
Code: Alles auswählen
$_ =~ s#\w*(\d\d:\d\d)Uhr([A-z]+)(?:\d+)?([A-z]+)#$1$2$3\n#g;
- mistersixt
- Beiträge: 6601
- Registriert: 24.09.2003 14:33:25
- Lizenz eigener Beiträge: GNU Free Documentation License
Oder man baut sich erstmal ein paar Seperatoren da rein und bearbeitet das anschliessend weiter, mit cut, awk oder sonstwas:
@<mawe>
Respekt!!
Gruss, mistersixt.
Code: Alles auswählen
mars:/tmp# echo "blabla15:33UhrTextwillich45haben17:19UhrTextw65illichaben" | sed 's/\([0-9][0-9]:[0-9][0-9]Uhr\)/;\1;/g'
blabla;15:33Uhr;Textwillich45haben;17:19Uhr;Textw65illichaben
mars:/tmp#
@<mawe>
Respekt!!
Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE
-
- Beiträge: 7
- Registriert: 28.06.2004 13:50:55