无法在可能的正则表达式中返回10

时间:2018-08-18 10:45:46

标签: r regex

我有一些单元格的文本带有方括号中的数字,例如(1)。在剥离文本并返回括号中的数字时,我得到了帮助。

newdataframe<- data.frame(gsub("[^()0-9]","",as.matrix(UltraCodes)))

但是,方括号中的数字最多为13,但我没有意识到上面的代码并没有涵盖这一点。我认为上述内容与正则表达式有关,并且我已经查看了有关如何返回两位数的答案

Why doesn't [01-12] range work as expected?

因此,我有多种方法可以返回有效的两位数。除了我不能返回10之外,我仍然返回1。

newdataframe<- data.frame(gsub("[^()^([1-9]|[0-1][0-2])$","",as.matrix(UltraCodes)))

newdataframe <-data.frame(gsub(“ [^()[1-9] | 1 [0-3]]”,“”,as.matrix(UltraCodes)))

newdataframe <-data.frame(gsub(“ [^()[1-9] | 1 [1-9] [0-9]]”,“”,as.matrix(UltraCodes)))

如何选择10个?

1 个答案:

答案 0 :(得分:1)

要捕获括号中的最多2位数字,请使用此正则表达式

(\([\d]{1,2}\))

要捕获尽可能多的用方括号括起来的数字,请使用此

(\([\d]+\))