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

Gast theozh
 2016-04-03 22:29
#184344 #184344
Hallo Perl-Spezialisten,
es gibt ja die Möglichkeit, sich Teilausdrücke zu merken.

Einfaches Beispiel:
Code: (dl )
 /([^aeiou])([aeiou])\1\2/

Würde in einer Wörterliste, z.B. mama,papa,soso,... finden.

Wie müsste die Regex aussehen, wenn ich Wörter suche, die jeden Vokal (a,e,i,o,u) genau einmal in beliebiger Reihenfolge enthalten?

Vereinfacht entspräche dabei der Ausdruck [^aeiou] einem Konsonanten und [aeiou] einem Vokal.
Ich dachte, es müsste etwas geben wie:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
[^aeiou]*     # 0 oder mehr Konsonanten
([aeiou]) # 1. Vokal
[^aeiou]* # 0 oder mehr Konsonanten
([^\1]) # 2. Vokal, aber nicht nochmals der 1. Vokal
[^aeiou]* # 0 oder mehr Konsonanten
([^\1\2]) # 3. Vokal, aber nicht nochmals der 1.,2. Vokal
[^aeiou]* # 0 oder mehr Konsonanten
([^\1\2\3]) # 4. Vokal, aber nicht nochmals der 1.,2.,3, Vokal
[^aeiou]* # 0 oder mehr Konsonanten
([^\1\2\3\4]) # 5. Vokal, aber nicht nochmals der 1.,2.,3.,4. Vokal
[^aeiou]* # 0 oder mehr Konsonanten


Aber das [^\1] usw. funktioniert so offenbar nicht...
Hat jemand eine Idee?
Last edited: 2016-04-03 22:41:15 +0200 (CEST)

View full thread Regex / Teilausdrücke merken