2017-10-13 47 views
-4

我有一個字符串,我需要用{{...}}模式獲取那些字符串,並用評估值替換它們。無法匹配來自字符串的模式

注意:一些方法將放在這{{abc();}}中,我需要評估這些方法並用相應的輸出替換它。

string abc="/*html$**{{abcd();}}**//*dhf//**{{ef();}}** "; 
string pattern="*{{*}}*"; 
MatchCollection collection = Regex.Matches(abc, pattern); 

我試過使用這種模式,但它拋出了下面的異常。

「{」 解析\ 「{{}} * \」 - 量詞{X,Y}下面什麼都沒有。 「}」

+1

向我們展示你到目前爲止嘗試過的東西 – Pio

+0

請參閱[解析「*」 - 量詞{x,y}後面什麼也沒有](https://stackoverflow.com/questions/1798285/parsing-quantifier-xy-following-nothing ) –

回答

0

好吧,你一定要了解正則表達式模式因爲你的模式是不可編輯的...

對於初學者來說,這種模式{{[a-z]*\(\);}}會給你{{abc();}}
這是非常簡單的,因爲你需要躲避的唯一字符是()
這些都是一些分割模式爲「捕獲組」正則表達式的特殊字符的,所以如果你想匹配都需要轉義通過在他們面前放置\。例如,*也是如此。

使用像https://regex101.com/這樣的網站來測試正則表達式(?)並根據您的特定需求開發我的給定模式。

該網站提供了很多解釋模式中的每個符號如何工作,甚至當您的模式字符串有錯誤時出現錯誤。