标题: [问题求助] 正则匹配url第一个反斜杠内容 [打印本页]
作者: 522235677 时间: 2017-10-16 20:45 标题: 正则匹配url第一个反斜杠内容
比如 https://agc.qq.com/show/chan
匹配出show结果
作者: zhanglei1371 时间: 2017-10-16 22:45
本帖最后由 zhanglei1371 于 2017-10-16 22:47 编辑
这个?- http.*?//[^/]+/([^/]+)/.*$
复制代码
作者: yu2n 时间: 2017-10-18 09:03
- Option Explicit
-
- Test
-
- '************************************************************************
- Sub Test()
- '************************************************************************
-
- Dim str, strPattern
- str = "https://agc.qq.com/show/chan"
- strPattern = "http[s]{0,1}:\/\/[0-9A-z\.]+?\/([^\/]+)?[\/]{0,1}?.*"
- MsgBox GetRE_SM0(str, strPattern)
-
- End Sub
-
- '************************************************************************
- '正則表達式:取得字符串的第一個子匹配項目
- '************************************************************************
- Function GetRE_SM0(ByVal str, ByVal strPattern)
- Dim oRE
- Set oRE = CreateObject("vbScript.regExp")
- oRE.Pattern = strPattern
- If oRE.Test(str) Then
- If oRE.Execute(str)(0).SubMatches.Count >= 1 Then
- GetRE_SM0 = oRE.Execute(str)(0).SubMatches(0)
- End If
- End If
- Set oRE = Nothing
- End Function
复制代码
作者: 523066680 时间: 2017-10-18 15:52
本帖最后由 523066680 于 2017-10-18 16:11 编辑
反斜杠不是 \ 吗- echo https://agc.qq.com/show/chan|perl -e "print [split(/\/+/,<>)]->[2]"
复制代码
还是不要用切割了,匹配大概是这样吧:- $s = 'https://agc.qq.com/show/chan';
- $s =~ /\/{2}.*?\/([^\/]+)/;
- print $1;
复制代码
作者: 回家路上 时间: 2017-10-20 15:54
复制代码
第一个捕获组捕获到的就是
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |