Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于检测查询字符串的正则表达式_Regex_Posix - Fatal编程技术网

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

Regex 用于检测查询字符串的正则表达式,regex,posix,Regex,Posix,我正在尝试使用正则表达式测试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 拒绝

我正在尝试使用正则表达式测试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])([^&]+)

您可以忽略域和子文件夹,我只想检查问号后的内容。在第三次阅读问题后,我想我现在明白您的要求了:

&?page=test($|&)
这与所有出现的“page=test”匹配,并在开始处带有可选的“&”。结尾处需要有一个“&”(可选后跟其他字符)或什么都没有(字符串的结尾)


这能解决您的问题吗?

请提供一些您想用正则表达式表达的规则。你所举的例子并非一目了然。你能解释一下你试过的正则表达式吗。我无法想象它应该做什么。而且你的尝试有一些非常基本的初学者错误。如果不知道方括号的作用,请不要使用方括号。有关一些基本的疑难解答提示,请参阅。我的字符串可以包含:&page=test,&page=test&,page=test&,但不能包含:&page=test[whatever],&page=test[whatever]&,page=test[whatever]&