c# - 简单的正则表达式在 c# 中不起作用

标签 c# regex

/news/article-title.html

没有被正则表达式捕获:

^/news/[^(archives)].+.html

?

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

谢谢!

最佳答案

你应该使用 negative lookahead . Character classes仅适用于单个字符。另外,不要忘记转义点。

如果“archives”不能在开头:

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

如果“文件”不能在任何地方:

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

更多提示:

  • 不允许 archives 作为一个完整的单词:(?!archives\b).+(?!archives-).+
  • 确保 \.html 在末尾(它可能出现不止一次):\.html(?=$|[?&])<

关于c# - 简单的正则表达式在 c# 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275633/

相关文章:

c# - Visual Studio 部署项目可选桌面快捷方式

c# - 判断文件是否为图片

javascript - 想要删除任何 HTML 标签

regex - grep 仅由大写字母组成的整个单词

c# - 使用正则表达式获取格式 ABC-XXX-XXX

关于 Equals 实现的 C# 不同 MSDN 指南

c# - 在 MVC c# 中检测应用程序的现有下载

c# - .NET 中的彩色图像量化

javascript - 仅当单词前面没有特定字符时才替换它

regex - 替换GO中以 "#"开头的特定新行