Könntest du dafür mal ein Beispiel geben, wie der String aussehen sollte und was du in welcher Gruppe matchen willst?
Klara, gern
Also mein bisheriges patter schaut so aus:
Code:
(0|[1-9][\d]*) (?:@?((?<=@)[^@]+(?=@)|(?!@))(?:@ )?)([A-Za-z0-9_]+)( [^\n\r]*|)
Beispiele für ein Match sind:
Zitat:
1 NAME Max /Mustermann/
2 DATE 22 APR 2016
Dabei werden "Max /Mustermann/" und "22 APR 2016" durch das Teilpattern
Zitat:
( [^\n\r]*|)
gematcht. Nun gibt es aber Signalwörter wie "FAMS, CHIL oder FAMC" und wenn diese im Teilpattern
Zitat:
([A-Za-z0-9_]+)
auftauchen, dann soll das letzte Pattern nur den Inhalt der @-Zeichen parsen.
Beispiel:
Zitat:
1 FAMC @I123@ // also I123
1 FAMS @I124@ // also I124
1 CHIL @I125@ // also I125