Regex 正则表达式包括某些单词,但不包括另一个单词
我正在尝试编写一个正则表达式,它将检查URL是否包含某些单词,并排除另一个单词 这样做的原因是我试图跟踪通过我的网站的流量,我不想计算任何点击感谢页面的人 例如:Regex 正则表达式包括某些单词,但不包括另一个单词,regex,Regex,我正在尝试编写一个正则表达式,它将检查URL是否包含某些单词,并排除另一个单词 这样做的原因是我试图跟踪通过我的网站的流量,我不想计算任何点击感谢页面的人 例如: http://www.mywebsite.com/register-now/-匹配 http://www.mywebsite.com/contact-us/-匹配 http://www.mywebsite.com/register-now/thank-you-不匹配 http://www.mywebsite.com/contact-
-匹配http://www.mywebsite.com/register-now/
-匹配http://www.mywebsite.com/contact-us/
-不匹配http://www.mywebsite.com/register-now/thank-you
-不匹配http://www.mywebsite.com/contact-us/thank-you
-不匹配http://www.mywebsite.com/thank-you
立即注册
和联系我们
),它们必须在URL中。但是,我必须确保URL中也没有1个单词(谢谢
)
我已尝试使用负面前瞻来检查URL是否不包含感谢,但它不起作用:
"^(?!.*\/thank\-you+)\/(contact\-us|register\-now)\/.*"
为简单起见,请分开:
str.match(/(contact\-us|register\-now)/) && !str.match(/thank\-you/)
在单个正则表达式中,可以使用负前瞻:
^(?!.*\/thank-you(?:\/|$))(?:.*\/)?(?:contact-us|register-now)\/
是负前瞻,如果URL具有(?!.\/thank-you(?:\/|$)
或/thank you
,则匹配将失败/thank-you/
- 如果文本每行包含多个URL,请使用多行模式