我是正则表达式的新手,并且不知道从哪里开始,这对我来说就像是一种差异语言。但我需要一个快速完成任务。
我需要
http://www.domain.com/folder1/folder2/file_path.txt
并获得
/folder1/folder2/file_path.txt
来自它。
谢谢!
答案 0 :(得分:4)
从中构造一个URI对象,其中一个属性将具有你想要的东西。
答案 1 :(得分:2)
我认为正则表达式应该有效:
^http://.*?/(.*)$
(用Python测试)
答案 2 :(得分:0)
由于VB.NET位于此问题的标记中,我假设您可以在服务器端访问Request对象:
Dim instance As HttpRequest
Dim value As String
value = instance.Path
这应该可以满足您的要求。
编辑:第二个想法 - 您可能正在从某些输入字符串中解析URL ...在这种情况下,正则表达式只有在您有一组简单(常规)输入时才有用:
你知道所有可能的域吗?即“http://www.ABC.com”和“http://www.DEF.com”是唯一可能的域名吗?
然后在这里:
Dim text As String = "http://www.ABC.com/folder1/folder2/file.txt"
Dim pattern As String = "(?:http://www.ABC.com|http://www.DEF.com)(.*)"
Dim r As Regex = new Regex(pattern, RegexOptions.IgnoreCase)
' Match the regular expression pattern against a text string.
Dim m As Match = r.Match(text)
Dim g as Group = m.Groups(2) 'Gives the string matched by the capturing parentheses
答案 3 :(得分:0)
支持更多协议并使协议也可选。
((https?|ftp)://)?(.*?)/(.*)