【问题标题】:Regex - how to match everything apart from a specific string?正则表达式 - 如何匹配除特定字符串之外的所有内容?
【发布时间】:2015-11-06 19:17:49
【问题描述】:

我有以下正则表达式^(.*)/news,它适用于以下内容

  • 某事/新闻
  • 其他/新闻
  • yougettheidea/news

但我不希望它匹配

  • 类别/新闻

有什么想法吗?我试过^(?!category)(.*)/news 但没有运气。

【问题讨论】:

  • ^(?!category)(.*)\/news 应该可以正常工作。
  • 您使用的是什么正则表达式工具/语言?
  • IIS 重写但我指定的正则表达式不起作用。在regex101.com 上测试并且匹配
  • 只需添加一个与^category/news不匹配的条件即可。如果有帮助,则等于否定。那就是说^(.*)(?<!category)/news 也可以工作。

标签: regex


【解决方案1】:

虽然这 (^(.*)(?<!category)/news) 可能有效,但我会改为对相关规则执行以下操作:

<conditions>
  <add input="{R:1}" pattern="category" negate="true" />
</conditions>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2010-12-13
    相关资源
    最近更新 更多