[英]Regular expression that starts with a certain string and ignores those that contain a specific string
我试图在PHP中编写一个正则表达式,它匹配任何包含'search / site / *'的字符串,但前提是它不包含字符串'ss_language'
这是我到目前为止: http ://regexr.com?3416i这成功匹配任何'搜索/网站/ *',包括'搜索/网站'所以现在我需要的位不包括任何包含'ss_language'的字符串
考虑到这一点,似乎我可以嵌套另一个preg_match来寻找ss_language,但这是与单个正则表达式相比的最佳方式吗? 一个正则表达式甚至可以实现这一点吗? 以下是一些示例以及它们应返回的内容:
在此先感谢您的帮助。 我对这些很新。 这是一次失败的尝试: http : //regexr.com?3416f
您可以使用否定前瞻来断言该字符串不包含ss_language
^search/site/?(?!.*ss_language.*).*$
如果你只是想要一个真实/错误的答案,它是否匹配,那么你真的不需要.*$
(它只会匹配search/site
与可选/
如果字符串中没有ss_language
(短)版):
^search/site/?(?!.*ss_language)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.