需要帮助仅匹配第一组括号之间模式的第一次出现[重复]

问题描述 投票:0回答:1

所以这是我需要从这个假 col 字符串中提取第一个括号集的内容的模式类型的示例:

'I like to (make a peanut butter2) (sandwich sometimes) and eat it'

现在我有:

REGEXP_EXTRACT(col, '\(.(.*?)\).*\)')

给出:

'(make a peanut butter2) (sandwich sometimes)'

REGEXP_EXTRACT(col, '\(.(.*)\).*\)',1)

给出:

'ake a peanut butter2)'

REGEXP_EXTRACT(col, '\(.(.*)\)',1) 

给出:

'make a peanut butter2) (sandwich sometimes'

所需输出:

'make a peanut butter2'
'(make a peanut butter2)'

我尝试过类似的修复但没有运气:

需要帮助才能在正则表达式中仅获取具有多个匹配项的第一个匹配项

在 presto sql 中使用正则表达式提取 = 和 & 之间的文本

正则表达式在Javascript中获取括号之间的字符串

正则表达式仅捕获第一个匹配项

正则表达式:匹配字符第一次出现的位置

sql regex match presto trino
1个回答
-1
投票

看起来正确的正则表达式是:

 REGEXP_EXTRACT(column,'\(([^)]*)\)',1)

给予

'make a peanut butter2'

谢谢大家!

编辑:更新得更清楚

© www.soinside.com 2019 - 2024. All rights reserved.