2013-02-24 45 views
0

我試圖寫一個不包含二進制字符串的模式(假設101)。我知道,考慮到http://en.wikipedia.org/wiki/Regular_language,不能使用Regular Expression來寫這樣的表達式。建設格局不包含二進制字符串

我試着寫了使用Regular Expression雖然上述問題的模式,它似乎是工作。

\b(?!101)\w+\b 

我想問的是可以爲我的問題寫一個正則表達式,爲什麼?如果是,那麼我的正則表達式是否正確?

+1

「請還包括一個標記,用於指定編程語言或工具所使用。」 (來自'[正則表達式]'標籤說明) – 2013-02-24 10:28:49

+0

我使用的在線工具http://regexpal.com/用於測試'regex'。雖然我沒有在任何地方使用它。 – 2013-02-24 10:30:24

+0

看http://stackoverflow.com/questions/406230/regular-expression-to-match-string-not-containing-a-word – clapas 2013-02-24 10:56:00

回答

0

要匹配不包含101整個字符串:

^(?!.*101).*$ 

超前進確實檢查通過正則表達式的字符串的條件一個簡單的方法,但你的正則表達式將只匹配字母詞不要從101開始。

0

你寫

我知道,這樣的表述不能使用正則表達式 考慮http://en.wikipedia.org/wiki/Regular_language被寫入。

在維基百科的文章,你似乎已經錯過了

注意,提供了許多 編程語言的「正則表達式」的特點與功能增強,使他們能夠識別語言的 那不能用 正式正則表達式表示(如下面正式定義的)。

負先行構建體是這樣的功能。

相關問題