On 7/16/07, yitzle <[EMAIL PROTECTED]> wrote:
> [ and ] define a character class and ^ means something different inside a
> character class. You need to use alternation instead.
>
> =~ /(?:^|&)limit=([0-9]{1,3})(?:&|$)/
I thought ^ inside [] only meant 'something special' if it was the
first character.
Can you explain what '?:' means?
When ^ isn't the first character in a class it means nothing special.
That is the problem. Outside of a character class it means
start-of-string* which is special. (?:) is a non-capturing grouping.
It allows you to group things (like the or'ed patterns /^/ and /&/)
without setting $1 and its friends.
* or start-of-line if the m option is set, or either if both the m and
s options are set.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/