c#如何从正则表达式中排除单词?

问题描述 投票:0回答:1

我有以下表达式。

它们之间唯一的区别是路由(.gif和.html)

crystal.ipac.caltech.edu - - [17/Jul/1995:20:00:23 -0400] "GET /facts/faq04.gif HTTP/1.0" 200 27063

crystal.ipac.caltech.edu - - [17/Jul/1995:20:00:23 -0400] "GET /facts/faq04.html HTTP/1.0" 200 27063

这是用于上述的RegEx。它与两者相匹配。

"^([^\\>]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(.+?)\" (\\d{3}) (\\d+|-)"

但我需要排除扩展名为.gif的第一个字符串。我该怎么做?

谢谢

c# .net regex
1个回答
1
投票

这可能适合您的需求:

"^([^\\>]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(((?!gif).)+?)\" (\\d{3}) (\\d+|-)"

请注意((?!gif).) ......这是负面的环顾

© www.soinside.com 2019 - 2024. All rights reserved.