2011-11-09 99 views
0

如果我想寫一個正則表達式它說比賽[^一些模式] & & [沒有這種模式。所以我想它來搭配一些模式,但不是模式(而不是雙點)的英文結合在Java正則表達式

例如[^ \。\。]:

它不應該匹配:

.. /../

,但它應該匹配

哎/../

+0

你......讓你的正則表達式獨佔你不想要的東西。 –

+0

你真的是指[字符類](http://www.regular-expressions.info/charclass.html)嗎?你能給出一些正則表達式的具體例子和你想要的結果嗎? –

+0

[看看這個](http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html) – biziclop

回答

0

你可以使用一個負lookahead assertion

^(?!excludepattern)includepattern 

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

例如,

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

將匹配任何字母斜槓分隔的序列,數字,下劃線,點或逗號,除非它與..開始(如你的例子)。

爲了解決您的評論(據我所知),試試這個:

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

這將匹配完全由字母數字字符或點的字符串,但連續不包含兩個點的任何地方。它也匹配空字符串。

+0

看起來好像對問題答案的任何解釋< - 這是否有道理? –

+0

我想我基本上想要的是確保[\ w。] +不是雙點 – xonegirlz

+0

我也編輯了問題 – xonegirlz