简单的正则表达式不适用于c#

时间:2011-03-11 16:35:33

标签: c# regex

  

/news/article-title.html

没有被正则表达式捕获:

  

^ /消息/ [^(档案)。+。HTML

我正在尝试在文件名中没有“档案”的文章,但以“/ news /”开头

谢谢!

2 个答案:

答案 0 :(得分:6)

您应该使用negative lookaheadCharacter classes仅适用于单个角色。此外,不要忘记逃避点。

如果“档案”不能在开头:

^/news/(?!archives).+\.html

如果“档案”不能在任何地方:

^/news/((?!archives).)+\.html

更多提示:

  • 完全禁止archives(?!archives\b).+(?!archives-).+
  • 确保\.html在最后(可能会出现多次):\.html(?=$|[?&])

答案 1 :(得分:1)

您不能使用字符块的not来表示整个字符串。

[^(archives)]

这被解释为不属于下列之一的字符:(,a,r,c,h,i,v,e,s或)。