找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17806|回复: 4

[问题求助] 正则匹配url第一个反斜杠内容

[复制链接]
发表于 2017-10-16 20:45:01 | 显示全部楼层 |阅读模式
比如 https://agc.qq.com/show/chan

匹配出show结果
发表于 2017-10-16 22:45:00 | 显示全部楼层
本帖最后由 zhanglei1371 于 2017-10-16 22:47 编辑

这个?

  1. http.*?//[^/]+/([^/]+)/.*$
复制代码
发表于 2017-10-18 09:03:06 | 显示全部楼层
  1. Option Explicit

  2. Test

  3. '************************************************************************
  4. Sub Test()
  5. '************************************************************************

  6.     Dim str, strPattern
  7.     str = "https://agc.qq.com/show/chan"
  8.     strPattern = "http[s]{0,1}:\/\/[0-9A-z\.]+?\/([^\/]+)?[\/]{0,1}?.*"
  9.     MsgBox GetRE_SM0(str, strPattern)

  10. End Sub

  11. '************************************************************************
  12. '正則表達式:取得字符串的第一個子匹配項目
  13. '************************************************************************
  14. Function GetRE_SM0(ByVal str, ByVal strPattern)
  15.     Dim oRE
  16.     Set oRE = CreateObject("vbScript.regExp")
  17.     oRE.Pattern = strPattern
  18.     If oRE.Test(str) Then
  19.         If oRE.Execute(str)(0).SubMatches.Count >= 1 Then
  20.             GetRE_SM0 = oRE.Execute(str)(0).SubMatches(0)
  21.         End If
  22.     End If
  23.     Set oRE = Nothing
  24. End Function
复制代码
发表于 2017-10-18 15:52:54 | 显示全部楼层
本帖最后由 523066680 于 2017-10-18 16:11 编辑

反斜杠不是 \ 吗
  1. echo https://agc.qq.com/show/chan|perl -e "print [split(/\/+/,<>)]->[2]"
复制代码
还是不要用切割了,匹配大概是这样吧:
  1. $s = 'https://agc.qq.com/show/chan';
  2. $s =~ /\/{2}.*?\/([^\/]+)/;
  3. print $1;
复制代码
发表于 2017-10-20 15:54:12 | 显示全部楼层
  1. (?!/).*/([^/]+)/.*
复制代码
第一个捕获组捕获到的就是

评分

参与人数 1技术 +1 收起 理由
taofan712 + 1 许久不见

查看全部评分

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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:27 , Processed in 0.024088 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表