2012-08-14 81 views
1

我bangging我的頭試圖找出什麼是正確的正則表達式這個字符串分割:正則表達式通過=,分裂=

[ABC]!=[BCD]= 

進入這個分裂的結果:

  • [ ABC]
  • !=
  • [BCD]
  • =

我的實際正則表達式是:

(?<=!=|=)|(?=!=|=) 

,但我得到的結果是:

  • [ABC]
  • =
  • [BCD]
  • =

請幫幫忙!

+0

你似乎還有其他'* ='操作符,你有可以接受的完整列表嗎? – zzzzBov 2012-08-14 20:13:37

+0

是的,我很抱歉,那個正則表達式模式的部分是不相關的......其實我的正則表達式更復雜,但我只需要解決這個難題的最後部分。我將編輯問題刪除不相關的部分...謝謝! – 2012-08-14 20:30:50

回答

4

這是更簡單:

splitArray = Regex.Split(subjectString, "(!?=)"); 

給你["[ABC]", "!=", "[BCD]", "="]

+0

哇!我真的不知道,如果你把你的搜索模式放在圓括號內,Split方法將包含匹配......在地獄中的哪個地方記錄下來?!..非常感謝! – 2012-08-14 20:25:44

+0

「地獄中哪裏有記錄?!」和「正則表達式」!你破解我:) – 2012-08-14 20:35:43

+0

我認爲這是[相當好的文件](http://msdn.microsoft.com/en-us/library/az24scfc.aspx)。 – zzzzBov 2012-08-14 20:48:22

0

使用這個表達式(!=)|(=)|(\[.*?\])

+0

是的,你是對的,但我標記蒂姆Pietzcker答案爲幾秒鐘的正確...無論如何,謝謝! – 2012-08-14 20:44:47