use warnings; use strict; use YAPE::Regex::Explain; my $re = 's!(?:^|/)[^\s,@;]*(?<=/)([^\s,@;]+?)(?=[\s,@;]|$)!$1!g'; my $parser = YAPE::Regex::Explain->new($re); print $parser->explain;