Thread Regex / Teilausdrücke merken (7 answers)
Opened by theozh at 2016-04-03 22:29

betterworld
 2016-04-03 22:47
#184345 #184345
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Da musst du wohl mit look-ahead arbeiten. Ich würde es so machen wie folgt, da kommt dann gar keine merkende Gruppe mehr vor:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for (<DATA>) {
    print if /^
        (?=[^a]*a[^a]*\z)
        (?=[^e]*e[^e]*\z)
        (?=[^i]*i[^i]*\z)
        (?=[^o]*o[^o]*\z)
        (?=[^u]*u[^u]*\z)
    /x;
}

__DATA__
Hallo
Barionen
Barionenwurst
Barionenrakete
Mausetoit


Nachtrag: Ich glaube, das Problem an deinem Versuch ist, dass man \1 nicht innerhalb von den eckigen Klammern nutzen kann. Aber du könntest es wohl korrigieren, wenn du die negierten Zeichensets durch negierte Look-Aheads ersetzt.
Last edited: 2016-04-03 22:52:21 +0200 (CEST)

View full thread Regex / Teilausdrücke merken