除了域(完整URL https://www.example.com/AnySubDir)外,我想在引荐来源网址中找到任何域。
当我使用否定表达式时,任何字符串都匹配,为什么?
(?! (^Referer?:\shttps?:\/\/([^\/]+\.)?www\.example\.com(\/|$)(.*)) )
答案 0 :(得分:0)
您的正则表达式仅由负{a}组成,(?! (^Referer
在不匹配空格时会成功,后跟字符串Referer的开头等。这将在很多位置匹配。
您可以做的是在正则表达式的开头移动^
并使用否定的前瞻来断言您的字符串不是以url开头。
^(?!Referer: https://www\.example\.com).*
没有列出编程语言,但是另一种解决方法是检查字符串是否以Referer: https://www.example.com
开头