在java中组合正则表达式

时间:2011-11-09 21:15:29

标签: java regex

如果我想写一个匹配[^某种模式]&&的正则表达式怎么办? [不是这种模式]。所以我希望它匹配一些模式而不是模式[^ \。\。](不是双点)英文

例如:

它不应该匹配:

../../

但它应匹配

哎/../

1 个答案:

答案 0 :(得分:0)

您可以使用否定lookahead assertion

^(?!excludepattern)includepattern

将匹配includepattern,除非它也匹配excludepattern

例如,

^(?!\.\.)([\w.,]+/)+$

将匹配斜杠分隔的字母,数字,下划线,点或逗号序列,除非它以..开头(如您的示例所示)。

要解决您的评论(据我所知),请尝试以下方法:

^(?!.*\.\.)[\w.]*$

这将匹配一个完全由字母数字字符或点组成的字符串,但在任何地方都不包含两个点。它也匹配空字符串。