Разделить строку, извлечь и добавить в другой столбец regex BIGQUERY

#regex #google-bigquery

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

Вопрос:

У меня есть таблица со столбцом оборудования, содержащим строки. Я хочу разделить строку, взять ее часть и добавить эту часть в новый столбец (SerialNumber_Asset). Часть строки, которую я хочу извлечь, всегда имеет один и тот же шаблон: A 7 цифр. Пример:

        Equipment                                   SerialNumber_Asset
1      AXION 920 - A2302888 - BG-ADM-82 -NK        A2302888 
    
2      Case IH Puma T4B 220 - BG-AEH-87 - NK       null
    
3      ARION 650 - A7702047 - BG-ADZ-74 - MU       A7702047 
    
4      ARION 650 - A7702039 - BG-ADZ-72 - NK       A7702039 
  

Мой код:

 select x, y, z,
regexp_extract(Equipment, r'([A][d]{7})') as SerialNumber_Asset
FROM `aa.bb.cc`
  

Сообщение, которое я получил:

Не удается проанализировать регулярное выражение: недопустимая escape-последовательность: A

Есть предложения, что может быть не так? Спасибо

Ответ №1:

Просто используйте A вместо [A] , проверьте пример ниже:

 select regexp_extract('AXION 920 - A2302888 - BG-ADM-82 -NK', r'(A[d]{7})') as SerialNumber_Asset