You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何用正则匹配含连续重复元素的数据行?

问题解决

你的正则表达式逻辑错了——TCG{5, }的意思是匹配TC后面跟至少5个G,不是TCG整个序列重复5次,这就是为啥所有带TCG的行都被命中了(只要有TC加1个G就符合条件)。

要匹配TCG连续重复至少5次,得把TCG用括号包成一个整体,再给这个整体加重复量词:

which(grepl(x = df$Sequence, pattern = "(TCG){5,}"))

这里的(TCG)把三个字符定义成一个分组,{5,}表示这个分组要连续出现至少5次,刚好对应你要找的第4行的TCGTCGTCGTCGTCG。

额外提个小细节:{5,}后面别加空格,你原来写的{5, }里的空格会被当成要匹配的字符,反而会匹配不到目标序列。

如果不想保存分组内容(只是用来重复),可以用非捕获分组(?:TCG){5,},效果一样,效率略高一点:

which(grepl(x = df$Sequence, pattern = "(?:TCG){5,}"))

内容的提问来源于stack exchange,提问作者ginn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:35:15