
你好。我刚开始使用regex,我一直在谷歌页面上练习。然而,我发现在google中的3个正则表达式中,只有REGEXEXTRACT在ARRAYFORMULA中不正确地工作。奇怪的是,通过ARRAYFORMULA,它是按行方向展开的,而不是在列方向上展开的。为什么会发生这种情况?
发布于 2022-02-24 15:08:16
如果您只想返回一个列,该列检查regex的每个条件,则必须在内部将它们连接在一起。否则,您的数组将按预期的方向展开。它是针对G2检查列F,然后检查H2,然后检查I2,因此显示每一行的每一种情况。
=ARRAYFORMULA(REGEXMATCH($F4:$F10,JOIN("|",G$2:I$2)))
将它们以REGEX检查每个标准的格式连接,如果任何条件为真,则返回true。它实际上是这样写的:
=ARRAYFORMULA(REGEXMATCH($F4:$F10,"...-....-....|.com$|^!")
/-是分隔符。
更新:
我相信您唯一的选择是将REGEXEXTRACT的格式更改为数组本身。例如:
=ARRAYFORMULA({REGEXEXTRACT($F2:$F10,G$2),REGEXEXTRACT($F2:$F10,H$2),REGEXEXTRACT($F2:$F10,I$2)})
https://stackoverflow.com/questions/71253687
复制相似问题