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 组捕获的值。
我有如下字符串
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 组捕获的值。