简体   繁体   English

R中的字母数字正则表达式

[英]alphanumeric regular expression in R

I am trying to use [:alnum:] as explained on ?regex 我正在尝试使用[:alnum:],如?regex所述

Anyone knows why 谁知道为什么

grepl("^([a-zA-Z0-9])+([;])", x="dj5sads;adsa")

returns TRUE, but 返回TRUE,但是

grepl("^([:alnum:])+([;])", x="dj5sads;adsa")    

returns FALSE? 返回FALSE?

[:alnum:] is only the name of the class. [:alnum:]仅是类的名称 As you want to put this named class into a character class, you have to enclose it with just another pair of [] : 当您想将此命名类放入字符类中时,只需用另一对[]将其括起来:

[[:alnum:]]

In your example it'd be 在您的示例中

grepl("^([[:alnum:]])+([;])", x="dj5sads;adsa")    
//Output: TRUE

demo @ ideone 演示@ ideone

what you want is 你想要的是

grepl("^([[:alnum:]])+([;])", x="dj5sads;adsa")    

remember we put the SearchPattern 记得我们把SearchPattern

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM