Redshift regexp_substr

时间:2017-09-29 19:15:59

标签: regex amazon-redshift

我想将此正则表达式模式复制到regexp_substr。我想抓住第二组。

'(\?)(.*?)(&|$)'

我试过这个

regexp(my_url, '\\?.*?&|$')

以上的一些类似的变化,但我得到了错误: ERROR: XX000: Invalid preceding regular expression prior to repetition operator. The error occured while parsing the regular expression: '\?.*?>>>HERE>>>&|$'.

1 个答案:

答案 0 :(得分:3)

自Amazon Redshift supports only POSIX regex以来,您需要使用贪婪量词而不是懒惰量词,但使用否定字符类

regexp(my_url, '\\?([^&]*)')

模式匹配:

  • \? - 问号
  • ([^&]*) - 第1组:除&
  • 以外的零个或多个字符