2014-04-17 162 views
2

1)正則表達式不使用C#正則表達式匹配特定的詞

目前,我有以下的正則表達式

^(abc|def)$ 

返回true,如果這個詞是「ABC」或「DEF」 我除了這兩個單詞之外,還需要匹配任何內容,包括包含這些單詞的字符串。 我現在做這樣的

Regex rgx = new Regex("^(abc|def)$"); 

if(!rgx.IsMatch(somestring)){ 
// do stuff 
} 

我想要的是一個正則表達式在那裏我沒有使用運營商。所以我需要這樣的東西(見新的正則表達式的運營商,但它不工作!)

Regex rgx = new Regex("^(!(abc|def))$"); 

if(rgx.IsMatch(somestring)){ 
// do stuff 
} 

預期結果somestring

等等 - >真

ABC等等 - >真

ABC - >假

定義 - >假

blah def - > true

希望這是有道理的..在此先感謝。

,只是爲了澄清,我不是試圖找到一個字符串的話,我想整個字符串比較正則表達式...因此^()$

儘可能爲什麼不使用!rgx.IsMatch,讓我們只是說我只是試圖看看它是否可能與正則表達式

+0

沒有重複,閱讀問題...我正在尋找一個全字匹配不包含字符串 – robert

+0

內的比賽。如果你沒有嘗試使用正則表達式爲什麼使用正則表達式查找字符串中的字? string.contains和簡單的條件將不起作用? – jomsk1e

+0

「爲什麼」在這裏並不重要。我想看看是否有可能。 – robert

回答

4

你可以使用這個正則表達式。它檢查開始標記^後面是abcdef,直到結尾$

^(?!(abc|def)$).* 
+1

Ty。我實際上是tryng「^(?!(abc | def)$)」,沒有。* ...正則表達式很奇怪。再次tnx – robert

+1

多麼美麗的正則表達式:) – elgonzo