问题
I am trying to use [:alnum:] as explained on ?regex
Anyone knows why
grepl("^([a-zA-Z0-9])+([;])", x="dj5sads;adsa")
returns TRUE, but
grepl("^([:alnum:])+([;])", x="dj5sads;adsa")
returns FALSE?
回答1:
[:alnum:]
is only the name of the class. 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
回答2:
what you want is
grepl("^([[:alnum:]])+([;])", x="dj5sads;adsa")
remember we put the SearchPattern
来源:https://stackoverflow.com/questions/22297141/alphanumeric-regular-expression-in-r