我不明白为什么我的Matches查询不起作用,而它可以很好地处理contains。我想最终在比赛中加入更多的东西,但首先需要它发挥作用。
包含:=QUERY(Raw!A2:P,"SELECT * WHERE K contains '<m>, 5/2/2020' ",0)
匹配:=QUERY(Raw!A2:P,"SELECT * WHERE K matches '.*<m>, 5/2/2020.*' ",0)
当我删除/更改5,但没有返回所有匹配项时,它是半工作的。。。提供的样本数据不允许测试,但我用2,3,4,6进行了测试,例如:=QUERY(Raw!A2:P,"SELECT * WHERE K matches '.*<m>, 3.*' ",0)
K列中一个单元格的样本数据:
Keith <k>, 5/2/2020: @Me: Thank you
_______________________
Keith <k>, 5/2/2020: @S: this is some text
_______________________
Mo <m>, 5/2/2020: @Me: more text is here
_______________________
ME <me>, 5/6/2020: text is here
_______________________
Jonathan <j>, 5/6/2020: @Me: Thank your
_______________________
Jonathan <j>, 5/6/2020: @S: text
Query在Google表单web应用程序中的匹配项(与官方移动应用程序不同(似乎不支持类似单行模式的regex标志:(?s)
。考虑在中创建一个链接到这篇文章的问题
-
谷歌可视化问题
-
谷歌工作表>帮助>帮助表有所改进。
解决方法:
-
查询函数似乎运行客户端,与其他函数不同。如果支持使用,
(?s)
类似:=QUERY(Raw!A2:P,"SELECT * WHERE K matches '(?s).*<m>, 5/2/2020.*' ",0)
-
如果没有,则使用
(.|n)
(任何字符或新行(模拟单行模式:=QUERY(Raw!A2:P,"SELECT * WHERE K matches '(.|n)*<m>, 5/2/2020(.|n)*' ",0)
-
请改用
contains
。contains
和OR
应模拟matches
’管道|
的连接。=QUERY(Raw!A2:P,"SELECT * WHERE K contains "&JOIN( " or K contains ","'<m>, 5/2/2020'" ,"'<k>'")&"",0)