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

问题描述:

我想通过使用从http://www.abc.gh.gov/vets/gth/summary.htm中提取'vets/gth/summary.htm'以下正则表达式:^ http:\/\/www.abc.gh.gov正则表达式从URL中提取路径+文件名

我得到以下输出:'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/'中。

请指教。

+0

你是什么意思提取?正则表达式是一种匹配的语言,你用什么来获得另一部分? – Nicole 2011-06-02 23:54:20

改变你的正则表达式为^(http:\/\/www.abc.gh.gov)强制整个块,没有什么比这更简单了。

为什么不直接在正则表达式的末尾添加/(当然是逃脱)\/这样你才能搜索斜杠?

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

不过,我会建议使用以下方法:

  1. 找到第三/
  2. 子串从index + 1到底的指数。