正则表达式以匹配相对URL

时间:2010-08-10 08:15:01

标签: c# regex url relative

寻找与以下相对网址匹配的正则表达式:

所有网址都以 / abc / 开头,但我们不知道它的结束位置,并且最后没有任何文件扩展名。

/ ABC / XYZ

/ ABC / part1的/第2部分

/ ABC /红色/蓝色/白色/绿/黑

等等。

任何帮助?

3 个答案:

答案 0 :(得分:3)

试试这个正则表达式:

/abc/(?:[A-Za-z0-9-._~!$&'()*+,;=:@]|%[0-9a-fA-F]{2})*(?:/(?:[A-Za-z0-9-._~!$&'()*+,;=:@]|%[0-9a-fA-F]{2})*)*

这来自ABNF of a generic URI

答案 1 :(得分:0)

/^\/abc\//

但是我的猜测是你在问题中遗漏了什么......

答案 2 :(得分:0)

我在这里写的答案是PHP;在我写作的那一刻,你没有报告你有兴趣得到哪种编程语言。

  • 如果您想要正则表达式来检查路径是否以/abc/

    开头

    preg_match('|^/abc/.*$|i', $path);

  • 如果您想要一个在/abc/

    之后返回零件的正则表达式

    preg_match('|^/abc/(.*)$|i', $path, $matches);

在这两种情况下,都可以避免使用正则表达式;你可以使用字符串函数。