gpt4 book ai didi

regex - Hive regexp_replace 替换反斜杠失败

转载 作者:行者123 更新时间:2023-12-04 15:36:57 25 4
gpt4 key购买 nike

我有一个包含单列 name_string 的表,其中包含反斜杠字符。我想使用 regexp_replace 删除反斜杠字符,但它不起作用。

表格:

create table t (name_string varchar(100));
insert into table t values ('\\"aaa\\"'), ('\\"bbb\\"');

查询:

select 
name_string, regexp_replace(name_string, '\\"', '"')
from t;

回归

+--------------+----------+
| name_string | _c1 |
+--------------+----------+
| \"aaa\" | \"aaa\" |
| \"bbb\" | \"bbb\" |
+--------------+----------+

但是,select regexp_replace('\"aaa\"', '\\"', '"') 返回正确的结果。

我很困惑为什么会这样。有人可以阐明这一点吗?欣赏它!

最佳答案

使用 4 个反斜杠:

select regexp_replace(name_string,'\\\\"','"') from t; 

只有反斜杠需要转义。在 Java 和正则表达式中,反斜杠具有特殊含义,需要转义。

关于regex - Hive regexp_replace 替换反斜杠失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59405194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com