If you are trying to match an exact substring then there is usually little point in using regex for that. I would use index instead.
use strict; use warnings; use Test::More tests => 1; my $corpus = q{foo<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(i +b)" data-reactid="33">bar}; my $lookfor = q{<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib) +" data-reactid="33">}; my $res = index ($corpus, $lookfor) > -1 ? 1 : 0; ok $res, 'Substring found';
Update: Replacing the ternary with a simple increment gives us more info in $res with the same testing ability. Adding a negative test too gives the better example:
use strict; use warnings; use Test::More tests => 2; my $corpus = q{foo<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(i +b)" data-reactid="33">bar}; my $lookfor = q{<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib) +" data-reactid="33">}; my $res = index ($corpus, $lookfor) + 1; ok $res, 'Substring found'; $corpus = 'Something else'; $res = index ($corpus, $lookfor) + 1; ok !$res, 'Substring not found';
In reply to Re: Regular Expression Help
by hippo
in thread Regular Expression Help
by vskatusa
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |