【发布时间】:2020-01-25 09:11:47
【问题描述】:
我需要在已知字符串后提取 8 位数字:
| MyString | Extract: |
| ---------------------------- | -------- |
| mypasswordis 12345678 | 12345678 |
| # mypasswordis 12345678 | 12345678 |
| foobar mypasswordis 12345678 | 12345678 |
我可以使用正则表达式来做到这一点:
(?<=mypasswordis.*)[0-9]{8})
但是,当我想在 BigQuery 中使用 REGEXP_EXTRACT 命令执行此操作时,我收到错误消息“无法解析正则表达式:无效的 perl 运算符:(?
我搜索了re2 library,发现似乎没有与正面后视的等价物。
有没有什么方法可以使用其他方法来做到这一点?像
SELECT REGEXP_EXTRACT(MyString, r"(?<=mypasswordis.*)[0-9]{8}"))
【问题讨论】:
标签: sql regex google-bigquery regex-lookarounds