You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从MySQL数据库的推文提取末尾的Twitter短链接

提取推文末尾的Twitter短链接解决方案

嘿,我来帮你搞定这个提取t.co短链接的问题!你已经成功筛选出了符合条件的推文,接下来只需要用合适的字符串函数把链接提取出来就行,这里有几个靠谱的方法,适配不同的MySQL版本和场景:

方法1:固定长度提取(适合链接在末尾的场景)

因为你已经通过正则筛选确认了推文末尾是https://t.co/加10位字母数字,整个链接的长度是固定的:https://t.co/占13个字符,加上10位目标字符,总共23位。直接用RIGHT()函数就能快速提取:

SELECT tweet_text, RIGHT(tweet_text, 23) AS extracted_tco_link
FROM user_tweets
WHERE tweet_text REGEXP 'https://t.co/[a-zA-Z0-9]{10}$';

⚠️ 小提示:你原来的正则里写的是[a-zA-z0-9],这里的z是小写,会匹配到大写Z到小写a之间的特殊字符,建议改成[a-zA-Z0-9]更严谨。

方法2:正则定位提取(通用型,支持链接不在末尾的情况)

如果以后需要处理链接不在推文末尾的场景,用SUBSTRING()结合REGEXP_INSTR()会更灵活。REGEXP_INSTR()能找到匹配模式的起始位置,再用SUBSTRING()从该位置提取到末尾:

SELECT tweet_text, 
       SUBSTRING(tweet_text, REGEXP_INSTR(tweet_text, 'https://t.co/[a-zA-Z0-9]{10}$')) AS extracted_tco_link
FROM user_tweets
WHERE tweet_text REGEXP 'https://t.co/[a-zA-Z0-9]{10}$';

方法3:直接正则匹配提取(MySQL 8.0+专属)

如果你的MySQL版本是8.0及以上,直接用REGEXP_SUBSTR()最省心,它可以直接返回匹配正则表达式的子串,一步到位:

SELECT tweet_text, 
       REGEXP_SUBSTR(tweet_text, 'https://t.co/[a-zA-Z0-9]{10}$') AS extracted_tco_link
FROM user_tweets
WHERE tweet_text REGEXP 'https://t.co/[a-zA-Z0-9]{10}$';

另外注意一下:你原来的SQL里SELECT用的是tweet_text,但WHERE条件里写的是tweet_content,字段名要保持一致哦,避免报错~

内容的提问来源于stack exchange,提问作者prograshid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:11:55