R 基于部分模式对值进行子集设置
我正在尝试使用正则表达式(url:happy_to-learn.com)进行子集划分 由于我对regex真的很陌生,有人能帮我解释一下为什么我的代码不起作用吗R 基于部分模式对值进行子集设置,r,regex,R,Regex,我正在尝试使用正则表达式(url:happy_to-learn.com)进行子集划分 由于我对regex真的很陌生,有人能帮我解释一下为什么我的代码不起作用吗 x <- c("happy_to-learn.com", "His_is-omitted.net") str_subset(x, "^[a-zA-Z](\\_|\\-)*\\.com$") x我们需要用+指定一个或多个,因为\或-不在第一个字母之后 str_subset(x, "^[a-zA-Z]+(\\_|\\-).*\\.co
x <- c("happy_to-learn.com", "His_is-omitted.net")
str_subset(x, "^[a-zA-Z](\\_|\\-)*\\.com$")
x我们需要用+
指定一个或多个,因为\
或-
不在第一个字母之后
str_subset(x, "^[a-zA-Z]+(\\_|\\-).*\\.com$")
#[1] "happy_to-learn.com"
另外,*
引用零个或多个字符,因为
可以是字符串结尾($
)的
和'com'之前的任何字符为什么使用外部包<代码>grep也可以这样做
grep("^[[:alpha:]_-]+.*\\.com$", x, value = TRUE)
#[1] "happy_to-learn.com"
解释
“^”
标记字符串的开头
“[:alpha://code>以可移植的方式匹配任何字母字符,大写或小写
“^[:alpha:][-][+”
在[]
之间,有可供选择的字符可匹配重复的一次或多次。字母或下划线-
或减号-
“^[:alpha:][u-]+.*”
以上字符后跟任何重复零次或多次的字符
“^[:alpha:][u-]+.\\\\\.com$”
以字符串“.com”
结尾,其中点不是元字符,因此必须转义
你能解释一下。后面的)是什么意思吗?这一位是什么意思?[a-zA-Z]
它与[a-Z][a-Z]相似吗?@NelsonGon。它表示从a到Z的大写字母还是小写字母