如何在 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€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ"
在哪里可以看到 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€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ"