【问题标题】:Negative lookahead alternative for bigquerybigquery 的负前瞻替代方案
【发布时间】:2021-11-18 04:47:26
【问题描述】:

我正在使用大查询的REGEXP_CONTAINS 并希望为模式实现它

^[-]?(?!0\d)\d*.?\d*$

但 Big Query 不支持 Negative Lookahead,因此我正在寻找 Big Query 支持的上述模式的替代方案。 谁能帮我解决这个问题?

【问题讨论】:

  • 不太清楚。您是否使用. 匹配文字. 字符或逗号以及任何其他字符?试试^\-?(?:(?:[1-9]\d*|0)(?:[.,]\d*)?|[.,]\d+)$,见demo
  • @WiktorStribiżew 我的正则表达式中的. 是小数点,我们以十进制数给出。谢谢!
  • 我想我应该用反斜杠 \. 转义它以匹配小数点
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: regex google-bigquery regex-lookarounds


【解决方案1】:

断言不为零的替代方法是仅断言 1 到 9:

^-?(?:0|[1-9]\d*)(?:\.\d+)?$

您对可选小数部分的措辞也需要重构。上述模式匹配不以零开头的整数或十进制数。

【讨论】:

  • 蒂姆,这对我有用。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多