首页 > 解决方案 > 查询不会过滤由 | 分隔的两个值 在不包含字符串

问题描述

我正在使用公式:

=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/","//div[@class='content']//div[contains(@class,'row-gray')]")),"Where not Col1 contains 'Postp|Canc' "))

但是由于某种原因'Postp|Canc'没有删除包含这些值的行,我做错了什么?

在此处输入图像描述

标签: regexweb-scrapinggoogle-sheetsgoogle-sheets-formulagoogle-query-language

解决方案


|是一个正则表达式的东西,在查询中只有matches正则表达式属性。利用:

=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
 "//div[@class='content']//div[contains(@class,'row-gray')]")),
 "where not Col1 matches '.*Postp.*|.*Canc.*'"))

或者:

=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
 "//div[@class='content']//div[contains(@class,'row-gray')]")),
 "where not Col1 contains 'Postp' 
     or not Col1 contains 'Canc'"))

推荐阅读