regex BigQuery反向引用

brccelvz  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(118)

如何在BigQuery中进行反向引用?当前的正则表达式是:

当我跑的时候

SELECT REGEXP_CONTAINS("true", r'''(["'])?(?:[01](?:.0)?|true|false)\1?''')

我得到以下错误:
无法分析正则表达式:转义序列无效:\1
什么是正确的方法来做这件事?(添加另一个\“修复”了这个错误,但是反向引用不起作用--上面应该返回true)。

kcwpcxri

kcwpcxri1#

BigQuery和re2不支持反向引用。你可以使用一个稍微宽松的正则表达式,像这样:

SELECT REGEXP_CONTAINS("true", r'''["']?(true|false|0(.0)?|1(.0)?)["']?''')

请注意,类似"true'的东西将匹配,因此如果需要非常严格,则需要处理所有情况,而不仅仅是能够逃脱['"]?

相关问题