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

Ruby中提取无冒号短链接(swoo.sh)的正则实现方法

提取推文里的swoo.sh短链方案

刚好碰到过一模一样的问题!URI::extract()确实对这种不带协议的短链束手无策,正则是最靠谱的解决办法。

核心正则表达式

针对你需要的swoo.sh/xxx格式,直接用这个正则就可以精准匹配:

/\bswoo\.sh\/\S+/

拆解一下每个部分的作用:

  • \b:单词边界,确保匹配的是独立的短链,不会把类似abcswoo.sh/123这种带前缀的错误内容也抓进来
  • swoo\.sh:匹配短链域名,把.转义成\.是因为正则里.代表任意字符,必须转义才能精准匹配域名里的点
  • \/:转义后的斜杠,匹配域名后的路径分隔符
  • \S+:匹配所有非空白字符,也就是斜杠后面的所有内容(直到遇到空格或文本结尾),完美适配推文里短链和文字用空格分隔的格式

PHP代码示例

既然你提到了URI::extract(),应该是在PHP环境下处理,给你写个可直接复用的代码片段:

// 你的推文内容
$tweet = "Lorem ipsum lorem ipsum swoo.sh/12xfsW lorem ipsum";

// 提取所有符合格式的短链(支持多条)
preg_match_all('/\bswoo\.sh\/\S+/', $tweet, $matches);

// 提取到的链接会存在$matches[0]数组中
$extractedLinks = $matches[0];

// 输出结果示例:Array ( [0] => swoo.sh/12xfsW )
print_r($extractedLinks);

运行后$extractedLinks里就会包含完整的swoo.sh/12xfsW,完全符合你的需求。

如果之后要支持其他类似短链(比如t.co、bit.ly),只需要把正则里的swoo\.sh改成(swoo\.sh|t\.co|bit\.ly)这种分组格式就行,非常灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:24:17