|
|
| Perl Monk, Perl Meditation | |
| PerlMonks |
Re: Re: (GOLF) - multiple digit finder regex - 17 charsby chipmunk (Parson) |
| on Feb 03, 2002 at 04:21 UTC ( #143016=note: print w/ replies, xml ) | Need Help?? |
|
/.*?([0-9]).*?\1/Well, of course! $1 and \1 mean different things. When $1 is used in a regex, its value is interpolated as the regex is compiled, just like any other variable. For example: prints Yup! because $1 holds 'b' from the first match and the second regex is compiled as /(.).*c/. \1, on the other hand, is special regex syntax, and matches the same thing that was matched by the first capturing group in the current regex. does not print Yup!, because \1 wants to match an 'a'. (\1 on the right hand side of a substitution, with the same meaning as $1, has been deprecated for quite some time.) Update: Fixed the explanation; an earlier revision of the example used 'c' instead of 'b'.
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||