Регулярное выражение BigQuery для извлечения строки между двумя подстроками

# #regex #google-bigquery

#регулярное выражение #google-bigquery

Вопрос:

Из этой строки примера:

 {amp;q;somerandomtextamp;q;:{amp;q;Productamp;q;:{amp;q;TileIDamp;q;:0,amp;q;Stockcodeamp;q;:1234,amp;q;variantamp;q;:amp;q;genomicsamp;q;,amp;q;availableamp;q;:0"}  

Я пытаюсь извлечь только биржевой код.

 REGEXP_REPLACE(col, r".*,amp;q;Stockcodeamp;q;:/([^/$]*),amp;q;.*", r"1")  

Таким образом, результат должен быть

1234

однако мое регулярное выражение по — прежнему возвращает все содержимое.

Ответ №1:

использовать regexp_extract(col, r"amp;q;Stockcodeamp;q;:([^/$]*?),amp;q;.*")

если применить к образцам данных в вашем вопросе — вывод будет

введите описание изображения здесь

Комментарии:

1. Удивительно, спасибо за вашу помощь, это сработало. Очень признателен @михаил-берлянт

2. рад, что это работает для вас, подумайте о том, чтобы проголосовать за ответ и принять его, а затем