Я пытаюсь найти лучший способ разобрать строку, которая выглядит следующим образом:
<br>
Explicit|00|11|Hello World|12 3 134||and|blah|blah|blah
Я просто хочу извлечь вещи между 6-й и 7-й вертикальной чертой |
Я пробовал что-то вроде
if ($line =~ /^(.*\|){6}(\w*)\|/ ) {
print $2;
}
Проблема в том, что первая часть, кажется, соответствует самой длинной последовательности из-за .*
, возможно, есть что-то другое, что я должен использовать Между вертикальными чертами есть буквенно-цифровые символы, пробелы и знаки пунктуации.
Должен ли я сопоставить самое короткое между ними?