[whatwg] Web Forms: pattern attribute
Michel Fortin
michel.fortin at michelf.com
Tue Apr 4 10:06:31 PDT 2006
Le 3 avr. 2006 à 19:33, Dean Edwards a écrit :
> Michel Fortin wrote:
>
>> Does that mean that a pattern attribute like "foo|bar" should
>> translate to /^foo|bar$/ ? Wouldn't it make more sense it it was /^
>> (foo|bar)$/ with the parentesis?
>
> You have a point. Would implied parentheses cause any side effects?
> None that I can think of...
Now that you mention it, it could. With a pattern like this:
"(.).*\1"
which simply indicates that the first and the last characters must be
the same, reference numbers won't refer to the right part. When the
pattern get transformed to this:
/^((.).*\1)$/
it makes `\1` a reference to the whole input text (the first
parenthesis) rather than the first character (which has become the
second parenthesis). This is not good.
So we will need to use a non-matching group `(?: ... )` instead:
/^(?:(.).*\1)$/
Problem solved.
Michel Fortin
michel.fortin at michelf.com
http://www.michelf.com/
More information about the whatwg
mailing list