Thread RegEx mit bedingter Ersetzung (11 answers)
Opened by micha2 at 2023-07-09 13:44

GwenDragon
 2023-07-10 14:26
#195134 #195134
User since
2005-01-17
14565 Artikel
Admin1
[Homepage]
user image
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)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread RegEx mit bedingter Ersetzung