正则表达式从URL中提取路径+文件名

时间:2011-06-02 23:45:18

标签: regex

我试图通过使用以下正则表达式从'http://www.abc.gh.gov/vets/gth/summary.htm'中提取'vets / gth / summary.htm':^ http:\ / \ / www.abc.gh.gov

我得到以下输出:'ets / gth / summary.htm'我没有在兽医中得到'v'。

如果我将网址更改为“http://www.abc.gh.gov/ rets / gth / summary.htm ”,则可以正常使用。当'http://www.abc.gh.gov/'之后的第一个字母是以下'httpwwwabcghov'之一时,正则表达式不起作用。请注意,这些字母存在于'http://www.abc.gh.gov/'。

请建议。

3 个答案:

答案 0 :(得分:0)

将您的正则表达式更改为^(http:\/\/www.abc.gh.gov)以强制整个块,仅此而已。

答案 1 :(得分:0)

为什么不在正则表达式的末尾添加/(当然是转义)\/,这样您就可以搜索斜杠了?

答案 2 :(得分:0)

正如我在评论中提到的,我不知道“输出”是什么意思,因为正则表达式执行的正常输出是匹配你的表达式的部分,而不是那个部分没有。

但是,我建议采用以下方法:

  1. 找到第三个/
  2. 的索引
  3. index + 1到结尾的子串。