GoogleSheets 中的 RegexReplace 以查找多个字符串

RegexReplace in GoogleSheets To Find Multiple Strings

我有如下字符串

bells<1@gmail.com>,bars<2@gmail.com>, ballots<3@gmail.com> 

我想从逗号分隔的字符串中提取电子邮件地址

使用的公式如下

=REGEXREPLACE(A7,"\<(.*?)\>","")

但是,我得到的结果与我的预期相反

bells,bars, ballots

这个公式 =REGEXEXTRACT(A7,"\<(.*?)\>") 结果 1@gmail.com 很好,但我想得到所有三个 3 实例。

有关正则表达式“<(.*?)>”为何不起作用的任何帮助和解释。

您可以使用

=REGEXREPLACE(A1, "[^<]*<([^<>]*)>(,?)", "")

regex demo详情:

  • [^<]* - <
  • 以外的零个或多个字符
  • < - 一个 < 字符
  • ([^<>]*) - 第 1 组:除 <> 字符
  • 之外的任何零个或多个字符
  • > - 一个 > 字符
  • (,?) - 第 2 组:一个可选的 , 字符。

</code> 和 <code> 分别指的是第 1 组和第 2 组捕获的值。