2009-04-27 41 views
1

我使用正則表達式解析一些html,我想匹配以單詞開始而沒有任何html標記的行,同時也刪除空格。使用C#正則表達式,我的第一個模式是:正則表達式:匹配沒有>或空格的短語

pattern = @"^\s*([^<])"; 

它試圖抓住所有的空格,然後捕獲任何非「<」字符。不幸的是,如果該行在第一個'<'之前的全部空白,則返回'<'之前的最後一個空白字符。我希望這個比賽失敗。

任何想法?

+0

我可以參考你的[我的答案](另一個類似的問題?)(http://stackoverflow.com/questions/792679/need-help-writing-regular-expression-html-parsing/792686#792686)? – 2009-04-27 10:18:11

回答

1

問的問題很快,只是制定了這一點:

模式= @ 「^ \ S *((\ S)[^ <] +?!)」;

感謝有關正則表達式和html的反饋,我將在未來銘記在心。我正在寫一個實用程序,使幾頁多語言(即:添加asp:文字硬編碼文本等),我認爲正則表達式就足夠了這個目的,但如果有更好的工具,請讓我知道(網絡的東西isn我的地區...)。

3

請勿使用正則表達式來解析HTML。這是一個非常糟糕的主意,充其量,你的代碼會很脆弱。無論您的語言/平臺是什麼,您都可以使用全功能的HTML解析器。只要使用它。

正則表達式無法正確處理所有轉義,實體使用等情況。

相關問題