2016-09-22 67 views
-1

我正在尝试使用正则表达式来测试URL。用于检测查询字符串的正则表达式

  • 受理的案件:

    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])([^&]+) 

可以忽略域和子文件夹,我尝试只检查问号之后是

+0

请使用正则表达式提供一些你想表达的规则。你给出的例子并不是不言自明的。你也介意解释你尝试过的正则表达式。我无法想象它应该做什么。 –

+2

而你的尝试有一些非常基本的初学者错误。如果你不知道他们做了什么,不要使用方括号。查看[Stack Overflow'regex'标记wiki](/ tags/regex/info)获取一些基本的故障排除技巧。 – tripleee

+0

我的字符串可以包含:&page = test,&page = test&,page = test&,但不是:&page = test [whatever],&page = test [whatever]&,page = test [whatever]& –

回答

0

阅读问题第3次后,我想我现在得到你所要求的东西:

​​

此相匹配的“页=测试”所有出现的与运算在开始时“&”。最后需要一个“&”(可选地跟随其他字符)或者没有任何东西(字符串的结尾)。

这是否解决您的问题?

相关问题