gpt4 book ai didi

mysql - 删除与正则表达式匹配的所有行中的某些字符?

转载 作者:行者123 更新时间:2023-11-29 08:50:51 25 4
gpt4 key购买 nike

我想改变

{foo, {bar}, foobar}

{foo, bar, foobar}

在与 '{.*{' 匹配的所有行中。 IE。删除除最外面的一对之外的所有花括号 { 和 }。

这样做

mysql -h $H -u $U -p$P $DB -B -e "SELECT id FROM t WHERE col REGEXP '{.*{'" > bad.txt

选择需要此替换的所有行。如何快速进行替换?

编辑:

我可以这样做吗

update table set column = REPLACE(column,'{','');

然后恢复最出的一对

update table set column = REPLACE(column,'^','{');

update table set column = REPLACE(column,'$','}');

我收到错误

mysql> EXPLAIN UPDATE t SET col=REPLACE(REPLACE(REPLACE(REPLACE(col,'{{','{'),'}}','}'), ', {', ', '), '}, ', ', ');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE t SET col=REPLACE(REPLACE(REPLACE(REPLACE(' at line 1

最佳答案

我确信有一种更详细的方法可以一步完成此操作,但快速但肮脏的方法是删除所有 {},并在完成后包装整个集合。

UPDATE table
SET column = CONCAT('{', REPLACE(REPLACE(column,'{',''),'}',''), '}')
WHERE column REGEXP '{.*{'

关于mysql - 删除与正则表达式匹配的所有行中的某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11274750/

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