首页 > 解决方案 > 正则表达式异常

问题描述

我正在尝试从单元格中较长的结果输出字符串中提取(变量)子字符串。

=SPLIT(TRIM(REGEXEXTRACT($Z3,“.(?s)+\([R][1][-][1][M]\)\s+\w+\s+\w+\s+\w+\s+[-]+\s+(.*)“)),1)

单元格的典型内容Z3是:

(F1-1D) 找到的唯一标识符方案 ['url'],(R1-1M) 指定的资源类型 - 网页,(R1.2-1M) 找到与日期相关的图片信息,(A1-2M) 访问找到的元数据:啜饮

我想提取 between-,following之间的单词(R1-1M)
在这个例子中是webpage.
字符串可以包含任意数量的逗号分隔元素。

标签: regexgoogle-sheetsgoogle-sheets-formula

解决方案


编辑

更好地了解 OP 的问题

我想在 (R1-1M) 之后提取 - 和 之间的单词。
在此示例中,它是网页。
字符串可以包含任意数量的逗号分隔元素。

我相信整个公式可以进一步简化为

=REGEXEXTRACT($A$3, "- (\w+),")

原始答案

您可以尝试以下方法

=REGEXEXTRACT($A$3, "(\w+),[ \(R1\.2\-1M\)]")

甚至

=REGEXEXTRACT($A$3, "[\(R1\-1M\)] (\w+),")

(根据您的需要调整范围)

在此处输入图像描述


推荐阅读