2015-11-09 84 views
0

我試圖找到與"<!--Buy_"開始的所有字符串,並與"_thumbnail-->" 在C#中的正則表達式搜索所有字符串開頭,並用C#正則表達式結束

Regex Regex = new Regex("^<!--Buy_(.*)_thumbnail-->$"); 
Console.WriteLine(Regex.Matches("<!--Buy_blabla_thumbnail-->").Count); 

代碼打印零... 什麼是結束我的正則表達式pattren的問題以及如何解決它?

+0

也作爲對象名稱更改外殼像'正則表達式的regex =新RegEx' – MethodMan

+0

你是不是也想不命名局部變量相同匹配「\在字符串的開頭?這有點不清楚。 –

+3

我得到1與完全相同的代碼(在第二行添加缺少的引號後) – pseudoDust

回答

4

第一,你不應該打電話給你的regex regex,這本身可能會破壞您的應用程序

Regex reg = new Regex("(<!--Buy_)(.*?)(_thumbnail-->)"); 

根據您正在尋找的開始和結束之間的特定字符串的新的信息,然後我會用此正則表達式 -

Regex reg = new Regex("(?<=<!--Buy_)(.*?)(?=_thumbnail-->)"); 

這會給你 「buy_」 和 「_thumbnail」

+0

你的代碼不會編譯它應該是 '正則表達式reg =新的正則表達式' – MethodMan

+0

你也錯過了');'在最後。 – juharr

1

我沒有看到任何REAS之間的一切在使用正則表達式時,你可以使用string.StartsWithstring.EndsWith

bool isMatch = yourString.StartsWith("<!--Buy_") 
      && yourString.EndsWith("_thumbnail-->"); 

string between = isMatch ? yourString.Substring(8, yourString.Length - 21) : null; 
+0

我想打印開始和結束之間的內部字符串不檢查字符串是否匹配.. –

+0

@idokahana一旦你知道它是一個匹配它只是一個簡單的'yourString.Substring(8,yourString.Length - 21 );' – juharr

+0

是的,但字符串可以容納更多的信息,我只是想找到spicefic標籤。 –

相關問題