regex - sub 返回不正确的数据

标签 regex r

我有以下代码块:

temp <- "44C"
sub("^([-+]?[0-9]+)([CF])$","\\2",temp)

这会正确返回 中号 .

然而当我尝试
temp <- "44"
sub("^([-+]?[0-9]+)([CF])$","\\2",temp)

我期待一个空向量。相反,我得到“ 44 ”。

我的推理有问题吗?

最佳答案

没有\2在你的第二种情况下。所以它不能替换任何东西并返回原样的原始字符串。
当正则表达式在 sub 中失败时,将返回原始字符串。

关于regex - sub 返回不正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505291/

相关文章:

java - 拆分复杂的字符串

python 正则表达式 : How can I have pattern searching for multiple pattern strings?

java - 如何构建匹配十六进制数字的正则表达式?

arrays - 在R中按行和列从数据框中调用多个值

r - 拆分带分隔符的单值字符向量

r - 如何计算每组的相对频率

R - 按行变化 knitr::kable 产生的四舍五入

javascript - 使用非常相似的正则表达式分割字符串后,输出出现奇怪的不同

两个第 n 个位置字符之间的正则表达式

javascript - 在 R Leaflet 中实现 (javascript) 插件