JavaScript正则或者特定规律字段

发布于 2022-09-13 00:24:12 字数 212 浏览 24 评论 0

有一段url是http://test.xxx.com/platform/mysql-147-16058/mysql/manage
需要提取到mysql-147-16058这一段,不想通过切割取。因为可能url变化。
规律是前面是 platform 后面是需要截取字符串的第一段,如mysql,这是相同的
谢谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

丑丑阿 2022-09-20 00:24:12

'http://test.xxx.com/platform/mysql-147-16058/mysql/manage'.match(/\/platform\/([^\/]+)/)

特征都有了,截取一下还是蛮简单的吧。把 platform 后面一坨截取出来

image.png


其实在当前这个情况下,你字符串截取也是可以的。你获取到 platform 的位置,然后 +1 就可以了

image.png

image.png

此生挚爱伱 2022-09-20 00:24:12
var url = 'http://test.xxx.com/platform/mysql-147-16058/mysql/manage'
var reg = /(?<=platform\/)[^/]+/
url.match(reg)
花开柳相依 2022-09-20 00:24:12
'http://test.xxx.com/platform/mysql-147-16058/mysql/manage'.match(/\/platform\/(mysql-[^\/]+)/)

越多的明确信息,匹配约准确。

一个人练习一个人 2022-09-20 00:24:12

解释看注释

var str = 'http://test.xxx.com/platform/mysql-147-16058/mysql/manage'
// 其实只需要判断前缀为 `/platform/` 后面是连续的一个字母数字或_的完整标识符即可 
var reg = /\/platform\/(mysql[\w\-]+)/
// 如果需要截取的字符串会有中文或标点的就用下面这句
// var reg = /\/platform\/(mysql[^\/]+)\//
// 用match直接获取匹配数组
var matches = str.match(reg)
// 如果匹配到,那么下标为1的即为匹配目标,匹配不到的话,给出 ''
var ret = matches ? matches[1] : ''
// 打印 mysql-147-16058
console.log(ret)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文