悬挂元字符*sparksql

a0x5cqrl  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(279)

below regex在hive中工作,但在spark中不工作。
它抛出了一个错误 dangling metacharacter * at index 3 :

select regexp_extract('a|b||c','^(\\|*(?:(?!\\|\\|\\w(?!\\|\\|)).)*)');

我也试过逃跑 *\\* 但它仍然抛出 dangling metacharacter * at index 3 .

nzk0hqpo

nzk0hqpo1#

你可以用

regexp_replace(col, '^(.*)[|]{2}.*$', '$1')

查看regex演示。
正则表达式详细信息: ^ -字符串开头 (.*) -捕获组1(此组值与 $1 替换模式中的替换反向引用):除换行符以外的任何零个或多个字符,尽可能多(行的其余部分) [|]{2} -双管( || (字符串) .* -剩下的线 $ -字符串结尾。

相关问题