如何在 R 正则表达式中 print/see 预定义模式 [:alnum:]、[:punct:]、[:digit:]、[:blank:] 等

How to print/see predefined patterns [:alnum:], [:punct:], [:digit:], [:blank:] etc. in R Regular Expressions

在哪里可以看到 R 中正则表达式预定义模式的代码?文档说它与 locales/POSIX locale.

有关
   > [[:alpha:]]
   > [:alpha:]

不打印任何东西。如何查找预定义的模式以及应该匹配多少次的函数等。

非常感谢任何帮助。

首先我们阅读help("regex"):

[:lower:]
Lower-case letters in the current locale.

类似 [: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] "[=11=]1[=11=]2[=11=]3[=11=]4[=11=]5[=11=]6\a\b\t\n\v\f\r6701234567012345677€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ"