Google表格中的正则表达式AND运算符

时间:2019-02-22 21:08:30

标签: regex google-sheets

您可以使用管道|来表示OR,它在Google表格中可以正常使用。但是我想要一个AND运算符,在任何地方都找不到。 The closest post I found谈论的是Java应用程序,但无法在Google表格上正常运行

我要检查字符串“ equivalencia de estudo patrimonial”中是否存在字符串“ equivalencia”和“ patrimonial”。

我已经尝试过:

=regexmatch("equivalencia de estudo patrimonial";"(?:equivalencia)(?:patrimonial)")
=regexmatch("equivalencia de estudo patrimonial";"(?=equivalencia)(?=patrimonial)")
=regexmatch("equivalencia de estudo patrimonial";"/(equivalencia)(patrimonial)/")
=regexmatch("equivalencia de estudo patrimonial";"(equivalencia)(patrimonial)")

没有人工作。总是假。

有人可以在这里帮忙吗?

1 个答案:

答案 0 :(得分:1)

不幸的是,支持Google表格的RE2库不支持环视。

您可能要做的是将word1.*word2word2.*word1与正则表达式的组合匹配

=REGEXMATCH("equivalencia de estudo patrimonial"; "equivalencia.*patrimonial|patrimonial.*equivalencia")

在这里,equivalencia.*patrimonial|patrimonial.*equivalencia匹配equivalencia,大约0个字符,patrimonial或(|patrimonial.*equivalencia匹配patrimonial,然后是0+个字符,然后为equivalencia。由于两个词之间的.*部分,效率不高。

另一种解决方案是使用AND function并运行REGEXMATCH两次:

=AND(REGEXMATCH(A1;"equivalencia"); REGEXMATCH(A1; "patrimonial"))