繁体   English   中英

Regexp_Extract BigQuery 直到“|”

[英]Regexp_Extract BigQuery anything up to “|”

我对编码还很陌生,我想知道您是否可以帮我为 BigQuery SQL 编写一些正则表达式。

基本上我想提取条形符号“|”之前的所有内容我的专栏之一。

例子:

  • 源字符串:bla-BLABLA-cid=123456_sept1220_blabla--potato-Blah|someMore_string_stuff-IDontNeed

  • 所需的 output:bla-BLABLA-cid=123456_sept1220_blabla--potato-Blah

我考虑过使用 REGEXP_EXTRACT(string, delimiter) function 但我完全无法编写一些正则表达式(LOL)。 因此,我查看了 Stack,并发现了以下内容:

SELECT REGEXP_EXTRACT( String_Name , "\S*\s*\|" ) ,
# or 
SELECT REGEXP_EXTRACT( String_Name , '.+?(?=|)')

但是每次我收到诸如“无效的 perl 运算符:(?= ”或“非法转义空间”之类的错误消息时

您对我收到这些消息的原因和/或如何继续提取这些字符串有什么建议吗?

非常感谢提前<3

您可以改用SPLIT

SELECT SPLIT("bla-BLABLA-cid=123456_sept1220_blabla--potato-Blah|someMore_string_stuff-IDontNeed", "|")[OFFSET(0)]

在此处输入图像描述

使用r为模式字符串添加前缀:

SELECT REGEXP_EXTRACT(String_Name, r'\S*\s*\|')

这是原始字符串常量的语法。 您可以在文档中查看这意味着什么。

暂无
暂无

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

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