我希望与正则表达式PCRE匹配的示例GET请求:
random.php蓝色=值1&安培;绿色=值2&安培;红色=值3&安培;橙= VALUE4&安培;灰色=值5&安培;黑色= value6
事实:
random.php - 文件名是随机的,只有" .php?"是固定的
我有大约10种颜色定义为参数
没有特定的颜色顺序 - .php?blue = [a-zA-Z0-9] {1,20}
可以只有2种颜色作为参数,或者全部是10种颜色,但我希望在所有GET请求中匹配,多个参数与\&
连接值始终介于1-20和字母数字之间 - .php?blue = [a-zA-Z0-9] {1,20}
你会怎么做?
答案 0 :(得分:0)
也许是这样的:
[^\s/?]+\.php\?((?:blue|orange|red|black)=[a-zA-Z0-9]{1,20})(?:&(?1)){1,9}(?:$|#.*)
(包含您想要的颜色)
(?1)
是对第一个捕获组子模式的引用。
我添加了对最终锚点#.*
的支持。如果您不需要或不需要,请随意将其删除。