У меня есть длинные листы Google QUERY
, часть которых такова:
=QUERY(LOOKUP!$A$4:$H,"Select count(B) where UPPER(D) matches 'OK' and UPPER(H) matches '.*(?:^|,|,\s)"®EXEXTRACT(REGEXREPLACE($Q3,"\s|-",""),"
\w+
")&"(?:,\s|,|$).*' and (UPPER(C) contains '"®EXEXTRACT($Q3, "\{(\w+)\}")&"' or UPPER(F) contains '"®EXEXTRACT($Q3, "\{(\w+)\}")&"') limit 1 label count(B) ''",0)
В основном, если у меня есть запись типа apple {pear}
, я хочу, чтобы только яблочный бит соответствовал как часть запроса.Это работает абсолютно нормально, за исключением случаев, когда я добавляю бит &
, например.apple&banana {pear}
совпадение не удается, даже если apple&pear
определенно присутствует в поиске, поэтому я думаю, что проблема с моим RegEx
.Я попытался просто заменить селектор \w+
в отдельном месте в RegEx
на .*
выше, но не повезло.
Любая помощь будет высоко ценится