谷歌表格REGEXEXTRACT-返回一列而不是两列



使用此公式返回两列中的值:

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+)?|(.+)"""))

如何修改此项以返回同一列中的所有内容?如果我去掉括号((,那么最后一个字符呢?或";将出现在末尾。

您可以使用

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+)[?""]"))

图案与匹配

  • (.+)-组1(这里的组值实际上是返回值(:尽可能多的一个或多个字符,而不是换行字符
  • [?"]-?"字符

同时考虑以下变化:

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+?)[?""]"))
=ARRAYFORMULA(REGEXEXTRACT(A2:A, "([^?""]+)[?""]"))

"(.+?)[?""]"的变化与"?的第一次出现相匹配。"([^?""]+)[?""]"也匹配到第一次出现,但它也可以匹配换行字符。

最新更新