gpt4 book ai didi

regex - 删除空格 : Unicode properties - character classes

转载 作者:行者123 更新时间:2023-12-04 14:41:19 26 4
gpt4 key购买 nike

这两个替换总是产生相同的结果吗?

$data =~ s/\p{Space}//g;

$data =~ s/[\h\v]//g;

最佳答案

是的。

$ 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]仅当 /u 时才等效或 use 5.012;用来。

Ticket #114220

地位:
  • /\h/相当于 /[\h]/在 5.10、5.12、5.14 和 5.18
  • /\h/不等于 /[\h]/在 5.16.0
  • 不知道5.16.1
  • 关于regex - 删除空格 : Unicode properties - character classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11581590/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com