正则表达式:验证没有查询参数的URL路径

Jua*_*cho 7 python regex url path

我不是一个正则表达式专家,我正试图做一个看似非常简单的工作在python 2.7:在没有查询字符串的情况下验证URL(没有主机名)的路径.换句话说,以/开头的字符串,允许字母数字值,并不允许这些以外任何其他特殊字符:/,., -

我发现这篇文章与我的需求非常相似,但对我来说根本不工作,我可以测试一下,aaa即使它没有开始也会返回true /.

我现在有点工作的当前正则表达式是这样的:

[^/+a-zA-Z0-9.-]
Run Code Online (Sandbox Code Playgroud)

但它不适用于不以此开头的路径/.例如:

  • /aaa - >是的,这没关系
  • /aaa/bbb - >是的,这没关系
  • /aaa?q=x - >假,这没关系
  • aaa - >是的,这不行

And*_*ong 5

您定义的正则表达式是字符类。相反,请尝试:

^\/[/.a-zA-Z0-9-]+$
Run Code Online (Sandbox Code Playgroud)