2013-11-01 125 views
-9

我想檢查字符串的正則表達式,它表示目標字符串是否位於目標字符串的大括號內。C#正則表達式檢查模式中的字符串

string keyword = "word"; 
string wholeText1 = "test test word test test { something else }"; 
string wholeText2 = "test test something else { word }"; 

所以,我想在哪裏可以斷定真或假的表達式。

我還沒有真正到過任何地方,我對正則表達的知識0。 感謝任何願意給我快速幫助的人。

+3

http://www.regular-expressions.info/ – Liam

+6

與這些「寫這篇文章的正則表達式我」的問題是什麼?我們**不會爲你做這件事。閱讀教程,拿起一本書,嘗試一下,表明你至少對理解解決方案感興趣。 – CodeCaster

+0

*給一個男人一條他吃了一天的魚,教他釣魚,但....... * – Liam

回答

2

如果你不介意不使用正則表達式:

var startindex = wholeText1.IndexOf("{"); 
var endindex = wholeText1.IndexOf("}", startindex); 

return wholeText1.Substring(startindex, endindex).Contains(keyword); 
+0

這將失敗的{}關鍵字{}「。是否符合'規範'是可以解決的 - 它確實檢查關鍵字是否在'{'和'}'之間,但不確定它們是否在當時是開放的。忽略這個評論,我錯了。 – Squidly

+2

這不會失敗,因爲它不在括號內。括號表示括號的末尾,否則你將永遠無法確定「括號內」。 –

+0

但是,它會在'{} {keyword}'上錯誤地失敗'不是嗎? – Squidly

2

你並不需要一個正則表達式。只要做到text.Contains("{ " + keyword + " }");

0
bool CheckTargetString(String str,String key) 
    { 
     int firstIndex = str.IndexOf("{"); 
     int lastIndex = str.IndexOf("}"); 
     int keyIndex = str.IndexOf(key); 
     return (keyIndex > firstIndex && keyIndex < lastIndex); 
    } 
+0

如果字符串包含開始或結束大括號,則返回true。 –

+0

@David:請你現在檢查一下。 –

+0

這太好了:) –

相關問題