如何在配置单元sql中用一个字符替换3个相同的字符?

ffdz8vbo  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(354)

我正在尝试用一个配置单元sql替换3个相同的字符。我试过这样的正则表达式: regexp_replace(first_name,"[(\w)\1\1+]", "\1") 结果什么也没变。 Aaabbb-->Aaabbb 我想要一个 Aaab 我也试过了 regexp_replace(first_name,"[(\w)\1\1+]", "$1") 我犯了个错误。
当我尝试时: regexp_replace(first_name,"[(\w)\1\1+]", "9") 检查它是否工作也没什么变化。
问题出在哪里?

jtw3ybtb

jtw3ybtb1#

你应该
拆下方括号
双倍的反斜杠
使用 $1 在替换中。
使用

regexp_replace(first_name, '(\\w)\\1{2,}', '$1')

请注意 \1\1+ (第1组值,然后是1+第1组值)与 \1{2,} (第1组值为2次或更多次)。

相关问题