【问题标题】:Regex to filter only unmatching string正则表达式仅过滤不匹配的字符串
【发布时间】:2015-03-20 14:41:24
【问题描述】:

我需要为 mylyn 任务 repo 连接器创建一个正则表达式,以仅选择 没有 带有字符串 needs info 的标签的问题

恐怕我对正则表达式的经验为零,因此尝试了以下各项,结果同样为零:

(^needs info)    <- filters for only *has* needs info label
^(needs info)    <- filters for only *has* needs info label
(?!needs info)   <- does nothing
^(?!needs info)  <- does nothing

非常感谢任何帮助。

【问题讨论】:

  • 关闭它,因为它看起来像是我试图使用它的 mylyn 连接器是愚蠢的,以正确允许完整的正则表达式:\
  • 我投票决定将此问题作为离题结束,因为看起来问题是软件错误而不是代码,因此没有可能的 SO 解决方案。

标签: regex regex-negation


【解决方案1】:

.* 放入负前瞻中。

^(?!.*\bneeds info\b).+

上面的正则表达式将匹配所有没有字符串needs info的行。

DEMO

【讨论】:

  • 谢谢,但是那个没有运气,因为它仍然像没有过滤器一样运行。虽然我的尝试可能很可笑,但我开始认为这可能是由于我使用的 mylyn 连接器而不是使用的正则表达式......
  • 它在演示站点中工作。你在运行哪种语言?
  • 它可能在 Java 中(基于 Eclipse 的插件),但我只是将正则表达式输入到要求标签正则表达式的表单字段中,所以真的不知道它是如何实际使用的。我发现它在演示中确实很有效,谢谢!
  • 在java中,你需要再转义一次反斜杠。 pattern.compile("^(?!.*\\bneeds info\\b).+");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 2012-06-05
  • 2013-12-25
相关资源
最近更新 更多