首页 > 解决方案 > 正则表达式 - 匹配字符后的所有数字

问题描述

我试图找到一个匹配某个字符的最后一个实例之后的所有数字的 R 命令。例如,假设我有以下字符串 -

"123_123_abc_123-AB-DC-D4G6"

我将如何匹配最后一个“_”之后的所有数字?

这就是我要的 -

gsub("magical regex", "", "123_123_abc_123-AB-DC-D4G6", perl = TRUE)

"123_123_abc_-AB-DC-DG"

标签: rregex

解决方案


要匹配最后一个数字之后的所有数字,_您可以匹配 1+ 个数字并使用负前瞻(?!来断言不再出现_

正则表达式演示| R 演示

gsub("\\d+(?!.*_)", "", "123_123_abc_123-AB-DC-D4G6", perl = TRUE)

结果

[1] "123_123_abc_-AB-DC-DG"

推荐阅读