用于检测查询字符串的正则表达式

时间:2016-09-22 11:36:41

标签: regex posix

我尝试使用正则表达式来测试网址。

  • 接受的案例:

    www.mystite.com/whatever/?bla=dfgsd&page=test 
    www.mystite.com/whatever/?bla=dfgsd&page=test&
    www.mystite.com/whatever/?bla=dfgsd&page=test&hello=bla 
    www.mystite.com/whatever/?page=test&hello=bla
    
  • 拒绝:

    www.mystite.com/whatever/?hello=bla&page=testfff 
    www.mystite.com/whatever/?page=testfff&hello=bla - NOT good
    

因错过 &page=test& page=test& &page=test

这就是我尝试过的,但它不起作用:

([^&]+)([page=test])([^&]+)

您可以忽略域和子文件夹,我尝试检查的内容仅在问号

之后

1 个答案:

答案 0 :(得分:0)

在第三次阅读这个问题之后,我想我现在得到了你要求的东西:

&?page=test($|&)

这符合" page = test"的所有出现次数。可选"&"在开始时。最后,需要有一个"&" (可选地后跟其他字符)或没有(字符串结尾)。

这会解决您的问题吗?