Thread optional match
(2 answers)
Opened by linuxCowboy at 2014-06-16 22:34
Naja, das liegt daran:
ax -> $1 Dann versucht .*? 0 Zeichen zu matchen (passt) Dann wird versucht (&c[^&]*)? zu matchen (passt, 0x) .* matcht den Rest des Strings. Also kein $2 da. Noch ein paar Kommentare: - ein .* am Ende einer Regexp ohne Anker ist überflüssig - Lösung: du musst anders gruppieren: Code (perl): (dl
)
echo 'ax&bx&xx&dx' | perl -wnE 'say "$1$2" if /(a[^&]*)(?:.*?(&c[^&]*))?/' - warum PERL5OPT, perl -wnE tuts doch auch? |