2012-07-20 90 views

回答

4

是的。

$ diff -U0 \ 
     <(unichars -au '\p{Space}') \ 
     <(unichars -au '[\h\v]' ) \ 
    && echo No differences 
No differences 

對比度與

$ diff -U0 \ 
     <(unichars -au '\p{Space}') \ 
     <(unichars -au '\s'  ) \ 
    && echo No differences 
--- /dev/fd/63 2012-07-20 11:28:33.356934588 -0400 
+++ /dev/fd/62 2012-07-20 11:28:33.356934588 -0400 
@@ -3 +2,0 @@ 
- ---- U+0000B LINE TABULATION 

\s可能會啓動,包括U + 000B很快,雖然。

unicharsUnicode::Tussle安裝。


注:如果沒有/uuse 5.012;\s有時不匹配NBSP。


我剛剛在Perl(5.16.0)中發現了一個錯誤。立即報告。

$ perl -le'print "\xA0" =~ /\p{Space}/ ?1:0' 
1 

$ perl -le'print "\xA0" =~ /\s/ ?1:0' 
0 

$ perl -le'print "\xA0" =~ /\s/u ?1:0' 
1 
             __ 
$ perl -le'print "\xA0" =~ /\h/ ?1:0'  \ 
1           \ 
              > huh?? 
$ perl -le'print "\xA0" =~ /[\h]/ ?1:0' /
0          __/ 

$ perl -le'print "\xA0" =~ /[\h]/u ?1:0' 
1 

因此,這意味着,不,\p{Space}[\h\v]僅當/uuse 5.012;使用等效。

Ticket #114220

狀態:

  • /\h/相當於/[\h]/在5.10,5.12,5.14和5.18
  • /\h/不等同於/[\h]/在5.16.0
  • 不知道約5.16.1
+0

向上按照承諾的日期 – ikegami 2012-07-20 15:23:35

+0

添加了更多信息。 – ikegami 2012-07-20 15:33:22

+0

在Perl中發現了一個更改答案的錯誤。發佈更新。 – ikegami 2012-07-20 15:40:59