go可以使用正则表达式来匹配URL,并返回JSON数组格式的结果。
// ExtractURLs 从文本中提取所有URL,返回JSON数组字符串
// 参数:
// text: 要提取URL的文本
// 返回值:
// JSON数组字符串,包含所有找到的URL,如:["http://example1.com", "http://example2.com"]
func ExtractURLs(text string) string {
// 定义URL匹配的正则表达式
urlPattern := `http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+`
// 编译正则表达式
re, err := regexp.Compile(urlPattern)
if err != nil {
return "[]"
}
// 查找所有匹配的URL
matches := re.FindAllString(text, -1)
// 将结果转换为JSON数组
jsonData, err := json.Marshal(matches)
if err != nil {
return "[]"
}
return string(jsonData)
}
使用示例:
text := `今天一篇笔记,揭秘广州魔变化训练... http://xhslink.com/o/2fO4y0IsGE
复制后打开【小红书】查看笔记!广州高端减肥训练营|28天瘦身之旅 为什么选择高端减... http://xhslink.com/o/117IEk42Ub`
urls := ExtractURLs(text)
// 返回: ["http://xhslink.com/o/2fO4ye0IsGE", "http://xhslink.com/o/117I2Ek42Ub"]
这个方法的特点:
- 使用正则表达式匹配所有以http开头或https开头的URL
- 支持各种URL格式,包括带参数的URL
- 返回JSON数组格式,便于在Lua中处理
- 如果没有找到URL或发生错误,返回空数组"[]"
- 可以处理包含多个URL的文本
正则表达式说明:
http[s]?: 匹配http或https://: 匹配://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+: 匹配URL中的各种合法字符- 整个表达式可以匹配完整的URL,包括参数
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】使用go提取文本中的所有网址
飞云脚本圈: 586333520

Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】使用go提取文本中的所有网址