拆分字符串,提取并添加到另一列正则表达式 BIGQUERY

Posted

技术标签:

【中文标题】拆分字符串,提取并添加到另一列正则表达式 BIGQUERY【英文标题】:Split string, extract and add to another column regex BIGQUERY 【发布时间】:2020-08-25 07:08:03 【问题描述】:

我有一个包含字符串的设备列的表。我想拆分字符串,取其中的一部分并将这部分添加到新列(SerialNumber_Asset)。我要提取的部分字符串始终具有相同的模式:A + 7 位。示例:

       Equipment                                   SerialNumber_Asset
1      AXION 920 - A2302888 - BG-ADM-82 -NK        A2302888 
    
2      Case IH Puma T4B 220 - BG-AEH-87 - NK       null
    
3      ARION 650 - A7702047 - BG-ADZ-74 - MU       A7702047 
    
4      ARION 650 - A7702039 - BG-ADZ-72 - NK       A7702039 

我的代码:

select x, y, z,
regexp_extract(Equipment, r'([\A][\d]7)') as SerialNumber_Asset
FROM `aa.bb.cc`

我收到的消息:

无法解析正则表达式:无效的转义序列:\A

有什么建议可能是错的吗?谢谢

【问题讨论】:

【参考方案1】:

只需使用A 而不是[\A],请查看以下示例:

select regexp_extract('AXION 920 - A2302888 - BG-ADM-82 -NK', r'(A[\d]7)') as SerialNumber_Asset

【讨论】:

以上是关于拆分字符串,提取并添加到另一列正则表达式 BIGQUERY的主要内容,如果未能解决你的问题,请参考以下文章

Python - 正则表达式将数据框中的一列拆分为 2 [重复]

从混合字母和数字列熊猫中提取日期时间

正则表达式拆分字符串,提取之前的字符串值和方括号之间的数值

Pandas 从第二个数据帧动态模式匹配并提取字符串

pyspark:删除作为另一列值的子字符串,并从给定列的值中包含正则表达式字符

插入时将PK添加到另一列