Я пытаюсь написать регулярное выражение, чтобы распознать одну строку текста, с подчеркиванием (_), распознанным как символ продолжения строки. Например, «foo_ \ nbar» следует рассматривать как одну строку, потому что «foo» заканчивается символом подчеркивания. Я пытаюсь:Нарушает ли это самый «самый длинный» принцип?
$txt = "foo_\nbar";
print "$&\n" if $txt =~ /.*(_\n.*)*/;
Однако, только эти отпечатки:
foo_
Это, кажется, нарушает "крайнее левое длинное" правило для регулярных выражений Perl!
Интересно, если я удалить последнюю звезду (*) в регулярном выражении, то есть:
$txt = "foo_\nbar";
print "$&\n" if $txt =~ /.*(_\n.*)/;
это делает печати:
foo_
bar
Но мне нужно звезду признать «0 или более "продолжений!
Что я делаю неправильно?
Что вы пытаетесь достичь с помощью этого регулярного выражения? Что бы вы хотели с этим сделать? – Zaid
"распознать одну строку текста, с символом подчеркивания (_), распознанным как символ продолжения строки" – JoelFan