私は文字列を持っていますfoo_bar_not_needed_string_part_123
。この文字列では、 の後にが続くnot_needed_string_part
場合にのみ削除します。foo_
bar
以下の正規表現を使用しました。
my $str = "foo_bar_not_needed_string_part_123";
say $str if $str =~ s/foo_(?=bar)bar_(.*?)_\d+//;
しかし、文字列全体を削除し、改行だけを出力します。
したがって、一致した (.*?) 部分のみを削除する必要があります。したがって、出力は
foo_bar__123.