【问题标题】:regular expression to solve for the following正则表达式解决以下问题
【发布时间】:2017-05-15 19:06:35
【问题描述】:

示例 1

asdk[wovkd'vk'psacxu5=205478499|205477661zamd;amd;a;d

示例 2

sadlmdlmdadsldu5=205478499|205477661|234567899amsd/samdamd

u5 可以有多个值,以|分隔

如何从我拥有的长字符串中捕获所有 u5 值?

【问题讨论】:

  • 什么语言?你试过什么?请在以后格式化您的问题。
  • 我正在使用大查询 substr(Data,length(REGEXP_EXTRACT(Other_Data, r'(?i)(.*?)u5=...'))+4,9) - 这个选择只是第一个
  • @chris85 - 我正在使用 Google Bigquery

标签: regex google-bigquery


【解决方案1】:

以下是 BigQuery 标准 SQL

#standardSQL
WITH data AS (
  SELECT 1 AS id, "asdk[wovkd'vk'psacxu5=205478499|205477661zamd;amd;a;d" AS junk UNION ALL
  SELECT 2, "sadlmdlmdadsldu5=205478499|205477661|234567899amsd/samdamd"
)
SELECT id, SPLIT(REGEXP_EXTRACT(junk, r'(?i)u5=([\d|]*)'), '|') AS value
FROM data  

输出如下

id  value    
1   205478499    
    205477661    
2   205478499    
    205477661    
    234567899    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多