Thread Regex: fangende Klammer in Wiederholungsklammer (13 answers)
Opened by GUIfreund at 2014-10-21 13:42

Linuxer
 2014-10-21 17:18
#177915 #177915
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Man könnte es auch in zwei Schritten machen:

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
#! /usr/bin/perl -l
use strict;
use warnings;

while ( <DATA> ) {

    # die ersten 1-5 X<foo> ab Zeilenanfang einfangen
    if ( $_ =~  m/^X(<\S+>(?: X<\S+>){0,4})/ ) {

        # splitten am " X" und die Klammern entfernen
        my @matches = map { s/^<|>$//g; $_ } split m/\s+X/, $1;

        # Kontrolle
        print join "--", @matches;
    }
    else {
        print STDERR "no matches.";
    }
}

__DATA__
X<$!> X<$ERRNO> X<$OS_ERROR>
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Regex: fangende Klammer in Wiederholungsklammer