2011-02-24 48 views
0

我有這個字符串:{test1}-{test2}/{x+y}C#:比較正則表達式的字符串組

我要檢查是否{test1}{test}匹配該字符串。

它將匹配,如果我只是可以不理會之間的字符的}...{

你會如何寫正則表達式?

UPDATE:

我要檢查是否{test1}{test2}{x+y}匹配字符串:

{test1}-{test2}/{x+y}

+0

只是爲了澄清,你想看看這個字符串是否包含{test1},後面是一些東西,然後是{test}?輸入字符串包含「{test2}」作爲那裏的第二個字符串,它不會匹配嗎? –

+0

ups對不起Lasse我改正了:{test1} {test2} {x + y}是必須匹配的字符串! – msfanboy

+0

然後等待更正。請編輯您的問題,以便正確描繪您想要完成的內容。 –

回答

1

我假設您的評論表示您要使用以下模式{test1}{test2}{x+y},你希望它匹配第一個字符串,在支撐組之間可以提供任何東西的附加規則,所以減號和除法不應阻止匹配。

來匹配輸入,它可以包含在支撐組之間的任意字符,使用這種類型的正則表達式:

\{test1\}.*\{test2\}.*\{x\+y\} 

這將匹配:

{test1}{test2}{x+y} 
{test1}-{test2}/{x+y} 

{test1}+{test3}*{test2}/{test4}-{x-y}+{x+y} 
     ---------  ---------------   <-- the parts that match .* 
+0

你不應該逃避牙套嗎? – Dyppl

+0

良好的捕獲,但這裏沒有必要,但它是正確的。括號只在包含數字時指定重複,因此'x {t}'並不意味着「x」t「次」,而是「x {2}」。將編輯。 –

+0

我的大括號中包含測試「1」,測試「2」也是一個數字,但不是一個獨立的數字。所以我想測試2我不需要大括號正確嗎? – msfanboy