Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 序列的POSIX正查找_Regex_Amazon Redshift - Fatal编程技术网

Regex 序列的POSIX正查找

Regex 序列的POSIX正查找,regex,amazon-redshift,Regex,Amazon Redshift,我现在有一个正则表达式,它匹配所有字符,直到一个由(任意)“XYZ”表示的序列。我在红移上执行它,试图去掉这个序列的一个字符串 我在运行查询时收到一条不明确的错误消息,我使用POSIX正则表达式解析器来获取更多信息。下面是解析器的输出 .*?(?=XYZ) 有办法解决这个问题吗?环顾四周,肯定查找似乎与红移语法无关。您可以使用(.*XYZ)实现同样的效果,并获得组1值。红移是否支持捕获组?如果是这样,您可以执行^(.*XYZ)并使用捕获结果。(我不确定文档是否正确,但如果正确,则捕获组和惰性量

我现在有一个正则表达式,它匹配所有字符,直到一个由(任意)“XYZ”表示的序列。我在红移上执行它,试图去掉这个序列的一个字符串

我在运行查询时收到一条不明确的错误消息,我使用POSIX正则表达式解析器来获取更多信息。下面是解析器的输出

.*?(?=XYZ)

有办法解决这个问题吗?环顾四周,肯定查找似乎与红移语法无关。

您可以使用
(.*XYZ)实现同样的效果,并获得组1值。红移是否支持捕获组?如果是这样,您可以执行
^(.*XYZ)并使用捕获结果。(我不确定文档是否正确,但如果正确,则捕获组和惰性量词
*?
似乎都不受支持。)关于
拆分部分(col,'XYZ',1)
?如果XYZ是一个文本,这就足够了。在本例中,XYZ多次出现,我试图在第N次出现后获取内容,因此实际的命令是
REGEXP_REPLACE('(.*?(?=XYZ)XYZ){N-1}','
当错误消息明确指出它不是Perl时,为什么要标记Perl?您可以通过
(.*)实现同样的效果XYZ
并获取组1值。红移是否支持捕获组?如果是这样,您可以执行
^(.*XYZ)并使用捕获结果。(我不确定文档是否正确,但如果正确,则捕获组和惰性量词
*?
似乎都不受支持。)关于
拆分部分(col,'XYZ',1)
?如果XYZ是一个文本,这就足够了。在这个示例中,XYZ多次出现,我试图在第N次出现后获取内容,因此实际的命令是
REGEXP_REPLACE('(.*?(?=XYZ)XYZ){N-1}','
当错误消息明确指出它不是Perl时,为什么要标记Perl?
error parsing regexp: invalid or unsupported Perl syntax: `(?=`