在R中匹配任何中文字符的正则表达式

4
什么是在R中匹配任何中文字符的正则表达式? [\\p{Han}]似乎不能按预期工作。
v=c("a","b","c","中","e","文")
grep("[\\p{Han}]",v, value = TRUE)

[1] "a"

1
尝试使用这个基本选项:Filter(function(x) Encoding(x)=="UTF-8", v) - NelsonGon
1个回答

3
根据regular-expressions.info的说法,"JGsoft引擎、Perl、PCRE、PHP、Ruby 1.9、Delphi和XRegExp可以匹配Unicode脚本"。因此,设置perl = T应该会产生正确的结果。R的默认设置是Ville Laurikari的TRE引擎的修改版本(源代码):
grep("[\\p{Han}]", v, value = T, perl = T)

#### OUTPUT ####

[1] "中" "文"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接