RegEx用于除黑名单之外的所有文件

时间:2011-02-20 12:31:54

标签: regex regex-negation

我需要改变RegEx模式。我目前有这个匹配所有以.aspx结尾的文件,包括查询字符串:

.*\.aspx.*

我需要一个匹配foo.aspxbar.aspx以外的所有表达式。

这是一些测试字符串;坏:

foo.aspx
http:\\www.mycompany.com\foo.aspx
http:\\www.mycompany.com\_app\bar.aspx?param=1

......好的:

http:\\www.mycompany.com\default.aspx
http:\\www.mycompany.com\_app\index.aspx?param=1
index.aspx

1 个答案:

答案 0 :(得分:2)

在C#上

var rx = new Regex(@"^.*(?<!(^|\\|/)(foo|bar))\.aspx$");

这将仅考虑文件名。 /和\是路径分隔符。 所以C:\ foo.bar相当于foo.bar,这是一个no。