亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL應該怎么實現正則替換?

MySQL應該怎么實現正則替換?

蝴蝶不菲 2023-04-17 22:18:00
我有這樣的需求:prodcuts_description 表里有很多多余的<br>標簽,并且寫法不一,如:<br />、<br>。要替換掉兩個以上的空行(<br>標簽),我只知道正則大概這么寫:(<br */*>\s*){2,}
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

mysql的正則匹配用regexp,而替換字符串用REPLACE(str,from_str,to_str)

例如
UPDATE myTable SET HTML=REPLACE(HTML,'<br>','') WHERE HTML REGEXP '(<br */*>\s*){2,}'

可是這么寫會把所有<br>全部替換掉,因此干脆把REPLACE(HTML,'<br>','')改成REPLACE(HTML,substr(HTML,locate('<br><br>',HTML)+strlen('<br>'),strlen('<br>')),'')
這還不夠,還得手動寫多個'<br><br>'、'<br><br/><br/><br><br><br/>',
還不夠,還得循環數次這些命令。。。。

關鍵的是,SQL語句無法實現正則匹配后取其中一部分的字符串來替換,所以你這里用sql實現是異常蛋疼的,干脆在程序里做正則替換,然后update吧。


查看完整回答
反對 回復 2023-04-20
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號