我正在尝试在R中创建正则表达式的模式。我希望该模式如下所示:
file1 <- "example.txt"
file2 <- "example.ffe.2f2.csv"
files <- c(file1,file2)
#pattern that matches everything up to, but not including last .
pattern <- ".*(?=\.)"
m <- regexpr(pattern, files)
然而,我在模式行上遇到了错误,提示如下:
Error: '\.' is an unrecognized escape in character string starting "".*(?=\."
我希望正则表达式可以在file1
中匹配example
,并且可以在file2
中匹配example.ffe.2f2
。有什么建议或者我做错了什么吗?该表达式在regex101.com上运行良好,所以我知道模式是正确的。
regexpr(pattern, files, perl = TRUE)
,因为您正在使用超出基本分组类型的内容。 - Nathan Werthregexpr
行会抛出一个错误,说它是一个无效的正则表达式
。 - Kyle Weisegsub('[.][^.]+$', '', files)
。 - rawr