在哪里可以看到R中正则表达式的预定义模式的代码?文档说它与locales/POSIX locale
。
> [[:alpha:]]
> [:alpha:]
不打印任何内容。如何查找预定义模式和函数应该匹配的次数等。
非常感谢任何帮助。
答案 0 :(得分:4)
首先我们阅读help("regex")
:
[:lower:]
当前语言环境中的小写字母。
类似于[:upper:]
和[:alpha:]
只是它们的结合。
然后我们可以检查当前语言环境的字符集:
Sys.getlocale("LC_CTYPE")
#[1] "German_Germany.1252"
l10n_info()
#$MBCS
#[1] FALSE
#
#$`UTF-8`
#[1] FALSE
#
#$`Latin-1`
#[1] TRUE
#
#$codepage
#[1] 1252
然后我们可以去互联网,例如到Wikipedia。
然后我们可以试试这个:
gsub("[^[:alpha:]]", "", rawToChar(as.raw(1:(16^2-1))))
#[1] "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ"
gsub("[^[:cntrl:]]", "", rawToChar(as.raw(1:(16^2-1))))
#[1] "\001\002\003\004\005\006\a\b\t\n\v\f\r\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\177€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ"