正则表达式如何:如果某些东西在该行的开头,那么匹配就是不匹配

时间:2010-06-02 15:10:09

标签: regex

在这种情况下,我实际上想要跳过以“...”开头的行匹配。 我已经拥有:[^0]\\swarnings?(?!\\.|\\w)所以我需要保留该功能并在以“...”开头的行上添加不匹配警告 谢谢! 编辑:我正在使用javascript。

2 个答案:

答案 0 :(得分:1)

如果您使用的语言支持无限大小的外观(如.NET),则可以使用

(?<!^\.\.\..*)yourterm

如果你不能使用它,但知道每行只能有一个表达式匹配,你可以通过

找到它们
^(?!\.\.\.).*(yourterm)

这实际上会匹配整个行的开头,但是在捕获组中有你感兴趣的术语。

如果每行可以有多个匹配项,我认为只有一个正则表达式就不能轻易实现这一点。

在任何情况下,使用^(?!\.\.\.).*首先摆脱以...开头的所有行可能会更容易,并开始对这些行进行另一次运行以获得匹配。

答案 1 :(得分:0)

尝试

^(?!\.+).+$

或者,如果您需要准确匹配3个点,

^(?!\.{3}).+$

编辑以显示OP的当前正则表达式:

^(?!\.{3})[^0]\\swarnings?(?!\\.|\\w)$