用于拆分文本的正则表达式。括号内有空格的特例

Regex to split apart text. Special case for parentheses with spaces in them

我正在尝试在 LookML 中通过分隔符拆分字段。该字段遵循以下格式:

  1. 经理(AE)
  2. 经理(AE - MM)

我能够使用这个拆分为第一个案例

sql: case
      when rlike (${user_role_name}, '^.*[\(\)].*$') then split_part(${user_role_name}, ' ', -1)

但是,我无法让第二个案例做同样的事情。它在 case 语句中,所以我要添加另一个 when 语句,但我无法找出包含空格的括号的正则表达式。

在此先感谢您的帮助!

“拆分”字符串,我想你的意思是要提取括号中的部分,对吗?

我会使用正则表达式子字符串方法来执行此操作。你没有提到你使用的是什么仓库,语法会有所不同,但在雪花上看起来像:

regexp_substr(${user_role_name}, '\([^)]*\)')

因此,例如,使用您提供的输入:

select regexp_substr('Managers (AE)', '\([^)]*\)')
union all
select regexp_substr('Managers (AE - MM)', '\([^)]*\)')
result
(AE)
(AE - MM)