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

如何使用regex与str_extract提取字符串中字母/字母格式的模式(如S/E)

正确实现方案
library(stringr)
# 原始字符串
string <- c("blabla S/E blabla", "blabla E/E bla", "E/S blabla")
# 提取逻辑:词边界 + 字母 + 正斜杠 + 字母 + 词边界
result <- str_extract(string, "\\b[A-Za-z]/[A-Za-z]\\b")
# 输出结果
result

运行后输出和预期完全一致:

[1] "S/E" "E/E" "E/S"

正则规则说明

  • \\b:词边界标识符,确保匹配的片段前后不会和其他字母/数字/下划线连在一起,避免误匹配长字符串中的无效片段
  • [A-Za-z]:匹配任意大小写英文字母,如果你确定目标内容只有大写字母,可简化为[A-Z]
  • /:直接匹配正斜杠本身

原尝试代码问题说明

你之前写的[^A-Za-z][A-Za-z$]存在两处逻辑错误:

  • [^A-Za-z]是反向匹配非字母的字符,正好匹配到了目标片段中的斜杠
  • 整个正则规则仅匹配2个字符长度的内容,不符合「字母+斜杠+字母」3个字符的目标规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:24:00