求两条正则方法,先谢谢了

[复制链接]
查看: 3188   回复: 9
发表于 2024-10-1 03:10:38 | 显示全部楼层 |阅读模式
https://weibo.com/2609183350/L9eg5DT8O
https://weibo.com/tv/show/1034:4762207091884132?mid=4762224269459462

这两个链接地址,我只想取出 L9eg5DT8O 和 4762224269459462 这两个字符串,我的想法是以正则匹配他们前边的字符串,然后 str_replace 替换为空,剩下的就是我需要的字符串了。

  但是正则上我不知道为该怎么写,请懂得的大佬指点一二,谢谢了。
回复

使用道具 举报

 楼主| 发表于 2024-10-1 03:11:24 | 显示全部楼层
给你推荐一个  傻子也可以学会正则的网站    https://regexlearn.com/zh-cn
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:12:18 | 显示全部楼层
第一个/^(https:\/\/weibo.com\/)+\d+\//g
第二个/^(https:\/\/weibo.com+\/tv\/show\/\d*:\d*\?mid=)/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:13:11 | 显示全部楼层
\d+ 匹配连续数字
\w+ 匹配数字、字母和.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:14:09 | 显示全部楼层
第一个往后推找第一个/
第二个直接长=号后面的
回复 支持 反对

使用道具 举报

发表于 2024-10-1 03:14:48 | 显示全部楼层
  1. var a = `https://weibo.com/2609183350/L9eg5DT8O`.match(/weibo.com\/\d+\/(.*)/)[1];console.log(a);var b = `https://weibo.com/tv/show/1034:4762207091884132?mid=4762224269459462`.match(/\?mid=(.*)/)[1];console.log(b);
复制代码
回复 支持 反对

使用道具 举报

发表于 2024-10-1 03:15:26 | 显示全部楼层
如果你要的这2个字符串位数是固定的,那直接截取后x位啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:15:48 | 显示全部楼层
basename
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:16:11 | 显示全部楼层
有考虑一下是什么语言嘛,感觉不用正则直接用url库更好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-1 03:17:08 | 显示全部楼层
柚兮: 第一个 /(\d+)  第二个 mid=(\d+)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则