Thread RegEx mit bedingter Ersetzung
(11 answers)
Opened by micha2 at 2023-07-09 13:44
Ich habe mal den Bash-Bandwurm aufgewickelt, Regex per Modifier /x sortiert und als "Normales" Perl-Programm probiert:
Code (perl): (dl
)
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 use strict; use warnings; while ( my $line = <> ) { $line =~ s, <link ( [^>]*? rel \s*?=\s*?(["'])\s* (.*?)\2 )? ( [^>]*? title \s*?=\s*?(["'])\s* (.*?)\5 )? .*? ( href \s*?=\s*?(["'])\s* (.*?)\8 ) .*? ( /> | >(.*?)</link> | > ([^<]*?) ) , { print "~~~~ HREF: $9\n"; if ($6) { print " TITEL: $6\n"; } } ,xige; } Und nun? Nach was du bei der HTML-Analyse suchen willst, ob du noch andere Parameter für HTML-Element/-Attribute nutzen möchtest, weiß ich nicht. Es ließen sich ja auf der Kommandozeile Parameter für HTML-Elementname und dessen Attribute übergeben, die ersetzt werden sollen. Ein Regex-Bandwurm in der Shell ist garantiert zu fisselig. Aber das musst du entscheiden. Last edited: 2023-07-10 15:41:57 +0200 (CEST) |