У меня есть следующие значения (строки) в столбце user_id в bigQuery:
g_123_h_34_p_2
g_13_h_14_p_0
g_0_h_14_p_10
Я хочу получить результаты на основе функции REGEXP_CONTAINS в запросе (предложение where). BigQuery обеспечивает поддержку регулярных выражений с помощью библиотеки re2.
Я хочу получить результаты, в которых нет 0 между двумя '_'. Мой желаемый результат: g_123_h_34_p_2
Я не уверен, какое регулярное выражение я должен написать в функции REGEXP_CONTAINS. Я пробовал использовать регулярное выражение, но у меня это не сработало:
REGEXP_CONTAINS (user_dim.user_id, r"^g_[^0][0-9]{1,10}_h_[^0]_p_[^0]$") = TRUE
REGEXP_CONTAINS (user_dim.user_id, r"^g_[1-9]*_h_[^0]*_p_[^0]*$") = TRUE
Ограничения символов регулярных выражений Регулярные выражения со следующими специальными символами не поддерживаются, так как они могут вызывать задержки: * (звездочка) + (знак плюса).