Thread Frage der Zweckmäßigkeit (17 answers)
Opened by rosti at 2025-03-10 15:50

haj
 2025-03-25 16:14
#196957 #196957
User since
2015-01-07
569 Artikel
BenutzerIn

user image
Auf den hinteren Seiten von Perldoc:perlre findet man ein Konstrukt, das genau auf den Anwendungsfall optionaler "Klammern" wie hier <!-- und --> passt. Dann geht's auch in einem regulären Ausdruck:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use 5.020;
my @testdata = (
    'title=Titel der Seite',
    '<!-- title=Titel der Seite, XML-Stil -->',
);

my $re = qr/^
            ( <!--)?                 # Die optionale Klammer wird (1)
            \s*(\w+)\s*=\s*(.*\S)\s* # "Captures" ohne Leerzeichen am Rand
            (?(1)-->|)               # Wenn (1), dann nimm -->
            $
           /x;

for my $string (@testdata) {
    if ($string =~ m/$re/) {
        say "Gefunden: '$2' = '$3'";
    }
}

View full thread Frage der Zweckmäßigkeit