用正则表达式排除字符串的一部分

时间:2012-06-01 13:35:57

标签: regex url regular-language

我对正则表达式非常不满意,我希望符合标准。 这是一个正则表达式,应该嵌入到防火墙的URL中,因此它将阻止任何与最后列表不同的URL。

这就是我目前正在使用但它不起作用的地方:

http://www.youtube.com/(*.*)list=UUFwtOm4N5djdcuTAlNIWJaQ

这是示例网址(要阻止):

http://www.youtube.com/watch?NR=1&feature=fvwp&v=P1b5VY_Bp_o&list=UUFwtOm4N5djdcuTAlNIWJaQ

我正在努力创建一个正则表达式,以便在NR=1feature=fvwp时成功完全匹配 不存在,我认为我可以这样做:(?!^feature=fvwp$)但允许v=list=UUFwtOm4N5djdcuTAlNIWJaQ

此外,v =应限于任何字符(大写和小写)和11长度,我假设:/^[a-z0-9]{11}$/

我如何将所有这些组合在一起并使其工作,以便它只允许和匹配此网址,不包括允许我解释的先前标准:

http://www.youtube.com/watch?v=4eK_RWpTgcc&feature=BFa&list=UUFwtOm4N5djdcuTAlNIWJaQ

http://www.youtube.com/watch?v=TLRl85TJwZM&feature=BFa&list=UUFwtOm4N5djdcuTAlNIWJaQ

http://www.youtube.com/watch?v=QEV9yqrpxkc&feature=BFa&list=UUFwtOm4N5djdcuTAlNIWJaQ

1 个答案:

答案 0 :(得分:1)

你可以通过正则表达式阻止匹配吗?如果是这样,请使用 (.*)www\.youtube\.com/watch\?NR=1&feature=fvwp并阻止任何匹配。