Extraer de una cadena en BigQuery usando regexp_extract
Tengo una cadena larga en BigQuery de la cual necesito extraer algunos datos.
Parte de la cadena se ve así:
... source: "agent" resolved_query: "hi" score: 0.61254 parameters ...
Quiero extraer datos como agent
, hi
y 0.61254
.
Estoy intentando usar regexp_extract
pero no puedo hacer que la expresión regular funcione correctamente:
select
regexp_extract([col],r'score: [0-9]*\.[0-9]+') as score,
regexp_extract([col],r'source: [^"]*') as source
from [table]
¿Cuál debería ser la expresión regular para obtener solo agent
o 0.61254
sin el nombre del campo y sin comillas?
Gracias de antemano.
davy.ai
Para extraer
agent
o0.61254
sin los nombres de campo y las comillas, la expresión regular enregexp_extract
deberá modificarse de la siguiente manera:agent
:Esta expresión regular buscará el patrón
"source": "agent"
en la cadena de entrada y devolverá el valoragent
sin las comillas.0.61254
:Esta expresión regular buscará el patrón
"score": 0.61254
en la cadena de entrada y devolverá el valor0.61254
sin el nombre de campo y las comillas.