我正在尝试在 PHP 中编写一个正则表达式,它将匹配任何包含“搜索/站点/*”的字符串,但前提是它不包含字符串“ss_language”
这是我到目前为止所拥有的:http : //regexr.com?3416i 这成功匹配任何“搜索/站点/*”,包括“搜索/站点”,所以现在我需要排除任何包含“ss_language”的字符串的位
考虑到这一点,似乎我可以嵌套另一个 preg_match 来查找 ss_language,但与单个正则表达式相比,这是最好的方法吗?这甚至可以用一个正则表达式来实现吗?以下是一些示例以及它们应返回的内容:
- 通过 - 搜索/站点
- 通过 - 搜索/站点/猫
- 通过 - search/site/dog?f[0]=im_field_technology%3A20858
- 通过 - search/site/cat%20dog?f[0]=im_field_technology%3A20858
- 失败 - 搜索/站点/cat%20dog?f[0]=ss_language%3Aen
- 失败 - 搜索/站点/?f[0]=im_field_technology%3A20858&f[1]=ss_language%3Aen
- 失败 - 搜索/站点/?f[1]=ss_language%3Aen&f[0]=im_field_technology%3A20858
- 通过 - 搜索/站点/?f[0]=im_field_technology%3A20858&f[1]=im_field_technology%3A20875o
- 失败 - 节点/23/编辑
提前感谢您的帮助。我对这些很陌生。这是一次失败的尝试:http ://regexr.com?3416f