Ich versuche, den besten Weg zu finden, eine Linie, die wie folgt aussieht zu analysieren:Extract n-te Vorkommen mit Perl Regex
Explicit|00|11|Hello World|12 3 134||and|blah|blah|blah
Ich möchte nur das Zeug extrahieren zwischen dem 6. und 7. vertikalen Balken |
Ich habe versucht, so etwas wie
if ($line =~ /^(.*\|){6}(\w*)\|/) {
print $2;
}
Das Problem ist, dass der erste Teil der längste Sequenz passend möglich, weil die .*
zu sein scheint, vielleicht ist es etwas anderes ich verwenden soll. Zwischen den vertikalen Balken befinden sich alphanumerische Zeichen, Leerzeichen und Satzzeichen.
Sollte ich die kürzeste zwischen ihnen übereinstimmen?
Warum nicht einfach auf "|" aufteilen? – Shurdoof
Sie haben Recht. Ich denke, ich habe gerade eine Weile mit Regex gespielt, also dachte ich nicht einmal an andere Funktionen :) – MCH