繁体   English   中英

正则表达式拆分文本。 括号中带空格的特殊情况

[英]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)', '\\([^)]*\\)')
结果
(AE)
(AE - 毫米)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM