use strict;
my $str = '"SVGSVGElement: html > body.template-home.overflow-none > div.theme-w" + "ide#container > form.js-ajax-cart-panel.js-fullscreen-modal.ajax-car" + "t-container.modal-right.modal-xs.modal-xs-right.modal-xs-right-out#a" + "jax-cart-details > div.modal-xs-dialog > div.modal-content > div.aja" + "x-cart-body.modal-right-body.modal-xs-body > div.js-ajax-cart-list.a" + "jax-cart-table.pull-left > div.js-cart-item.js-cart-item-shippable.a" + "jax-cart-item > div.ajax-cart-item-delete-col.cart-delete-container." + "ajax-cart-item-col.text-right > button.cart-btn-delete.ajax-cart-btn" + "-delete.pull-right.p-top-none > div.cart-delete-svg-icon.svg-icon-te" + "xt > svg.svg-trash-icon"
';
my $regex = qr/\b\S*trash\S*\b/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html