如何修复正则表达式捕获组错误bigquery? 我正在尝试将代码从SQL Server移动到BigQuery,但是我在Select语句中的某些列有问题: 选择 cast(regexp_extract(local_chores,'([^&]+)&([^&]+...

问题描述 投票:0回答:3
我有一个错误:

传递到提取功能中的规则表达式不得超过1个捕获组

我试图访问我的代码,但我没有设法解决该错误。有人对这个问题有洞察力吗?

试图:

SELECT REGEXP_EXTRACT(local_chores, r'([^&]+)&[^&]+&.*') AS origin_place_code, REGEXP_EXTRACT(local_chores, r'[^&]+&([^&]+)&.*') AS origin_equipment_code, FROM ...
regex re2
3个回答
1
投票

REGEXP_EXTRACT

1
投票
功能需要从文本中提取一个捕获组。

在您的正则表达式中有两个捕获组。 您可能想用Https://regexr.com/

检查表达式

enter image description here

这可能对OP不太有帮助,但它可能会帮助找到此帖子的其他人:

我遇到了一个错误,解决了一个稍有不同的问题。我想在字符串中识别并提取许多可能的值之一。我正在使用以下正则表达式: enter image description herer'(perplexity.ai)|(chatgpt.com)|(gemini.google.com)|(copy.ai)|(copilot.microsoft.com)'

正在遇到错误

0
投票

i我将表达式更改为以下,我能够提取字符串:

r'(perplexity.ai|chatgpt.com|gemini.google.com|copy.ai|copilot.microsoft.com)'
我将其声明为一个称为搜索列表的字符串变量,而我的查询看起来像这样:

SELECT 
REGEXP_EXTRACT_ALL( url , search_list)[OFFSET(1)] AS website   
FROM traffic_table

由于我自动返回列表,我使用

REGEXP_EXTRACT_ALL

术语将其变成一个用我寻找的网站作为值的字符串。
	

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.