What surprises me is that the bug doesn't seem to apply to both (with my perl), i.e. it only shows up with the negated char class
There's a bug that affects both -- the first test in 5.14 and the first two in 5.12 -- and there's a bug that doesn't.
You're quoting a comment about one when commenting on the other.
But what about the vertical tab U+000B?
It's in the Unicode property, but not \s.
$ uniprops 0x0B U+000B ‹U+000B› \N{LINE TABULATION} \v \R \pC \p{Cc} All Any ASCII Assigned Basic_Latin C Other Cc Cntrl Common Zyyy Co +ntrol Pat_WS Pattern_White_Space PatWS POSIX_Cntrl POSIX_Space Space +VertSpace White_Space WSpace X_POSIX_Cntrl X_POSIX_Space $ perl -E'say "\x0B" =~ /\p{Space}/ ?1:0;' 1 $ perl -E'say "\x0B" =~ /\s/ ?1:0;' 1
But I remember some characters not being in \s for historical reasons.
$ diff -u0 <( unichars '\s' ) <( unichars '\p{Space}' ) --- /dev/fd/63 2011-11-04 21:18:53.160681893 -0400 +++ /dev/fd/62 2011-11-04 21:18:53.160681893 -0400 @@ -2,0 +3 @@ + ---- U+000B LINE TABULATION
In reply to Re^5: regexp: removing extra whitespace
by ikegami
in thread regexp: removing extra whitespace
by perlmax
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |