我有一個數據庫包含HTML內容的頁面ojects。很多分貝行的包含這個內容c#正則表達式替換
<p style="float: left; margin-right: 20px; height: 300px;">
<img src="...">More html ...
</p>
所以我創建了一個超級簡單的正則表達式替換:
foreach (var page in db.Pages)
{
string pattern = @"<p style=""float: left; margin-right: 20px;"">(.*)</p>/ms";
if(Regex.Match(page.Content, pattern).Success)
{
page.Content = Regex.Replace(page.Content, pattern, "<div class=\"contentimage\" >$1</div>");
}
}
// db.SubmitChanges();
Altough,當我在一個正則表達式測試工具運行的正則表達式,它的工作原理。但在C#代碼中沒有。任何人都可以幫助我。
如果有人知道如何用sql中的正則表達式替換進行更新,那很好。
正則表達式並不是我最強烈的觀點(儘管非常遺憾)。但它是在我的清單學習儘快;)
我討厭這樣說,但正則表達式是** **真的沒有選擇的工具處理。第HTML ... – 2010-07-26 20:45:52
來吧馬克,你有沒有讀過Perl腳本?那些傢伙明確表示,正則表達式是所有事情的首選工具!除非你是那些認爲代碼應該可讀的lamo微軟開發人員之一,並且正則表達式應該有一套標準的非語言特定指令.. – 2010-07-26 20:58:43
對於所有認爲Regex應該用於處理HTML的人,我會推薦一個好的閱讀:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454恕我直言,每當有人用'regex'和'html標記問題'標籤他應該引用這個答案。 – 2010-07-26 21:08:03