[tpm] String matching at start or middle or end of list
Stuart Watt
stuart at morungos.com
Mon Apr 29 11:00:30 PDT 2013
I've used \b for this. i.e., /\bfoo\b/ - the \b is a zero-width word/nonword boundary, and I use it a lot to anchor at separators.
All the best
Stuart
On 2013-04-29, at 1:52 PM, Indy Singh wrote:
> Hi All,
>
> Following Alans suggestion, I am going to repost the question with some test cases.
>
> I am looking for a way to match a string that appears in a comma separated list. The string may may appear at the start or middle, end or nowhere on a list. I have stumbled along and made this work in the past, now I am looking for the clean and proper way to do it.
>
> One of the unpleasant side effects of putting a list with alternatives at the start .e.g. '(^|,)' , is that it creates an undesired capture string. Is it possible to avoid creating the capture string?
>
> Test code below. Anywhere where ‘foo’ appears should match but ‘food’ should not match
>
> foreach $s ('foo,bar,baz', 'bar,foo,baz', 'bar,baz,foo', 'bar,food,baz') {
> print "s=$s ";
>
> my ($match) = $s =~ /some reg expression or perl code here to match foo/;
>
> if ($match) {
> print "match=$match\n";
> } else {
> print "no match\n";
> }
> }
>
>
> Indy Singh
> IndigoSTAR Software -- www.indigostar.com
> _______________________________________________
> toronto-pm mailing list
> toronto-pm at pm.org
> http://mail.pm.org/mailman/listinfo/toronto-pm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/toronto-pm/attachments/20130429/f156cb56/attachment.html>
More information about the toronto-pm
mailing list