Ummm, I have no problem doing the substitution using the code supplied:
$line = "She was very absorbed in her homework."; $word = "absorb"; print STDOUT "Line: $line\n"; $line =~ s/($word(?:s|ed))/<b>$1<\/b>/igm; print STDOUT "New Line: $line\n"; print STDOUT "\$1 contains: $1\n";
Of course, I might consider changing it slightly to read:
$line =~ s/\b(${word}(?:s|ed)?)\b/<b>$1<\/b>/igm;
However, I did just discover that there is something more going on here, because while the original (without the \b) does set something in $1, my change doesn't (despite doing the substitution properly).
And finally, if you're just doing a match why are you using s///?
In reply to Re: Re: Re: quick question about parenthesis and regular expressions
by jreades
in thread quick question about parenthesis and regular expressions
by cranberry13
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |