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

R语言中str_extract_all正则匹配不符合预期,求调整方案

精准匹配带"1"结尾的FC条目:正则表达式修改方案

问题原因

原正则FC.*1采用贪婪匹配,.*会从第一个FC开始,匹配到最后一个1为止,导致把不含1的FC Relacionado con Paciente也错误包含进结果。

修改方案

采用非贪婪匹配+字符约束,确保只匹配以FC开头、以1结尾的独立条目:

代码实现

string  <- ":  FC Relacionado con Paciente  FC Protocolo1  FC Comunicacion entre Profesionales1  FC Disponibilidad"

# 提取所有符合要求的条目
matches <- str_extract_all(string, "FC[^F]+?1")[[1]]
# 合并为单个字符串(与期望格式一致)
result <- paste(matches, collapse = "  ")
print(result)

运行结果

[1] "FC Protocolo1  FC Comunicacion entre Profesionales1"

正则解释

  • FC:匹配开头的固定标识
  • [^F]+?:匹配除F之外的任意字符(避免跨下一个FC匹配),+?表示非贪婪模式,匹配到最近的1就停止
  • 1:匹配结尾的固定字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:42:04