2

<font style="font-size:85%;font-family:arial,sans-serif">正規表現を使用してクリーンアップしようとしています

font-size:85%;

私の正規表現は^font-size:(*);

つまり、font-size タグを完全に削除する必要があります。

誰かが私を助けてくれますか?

ありがとうございました!

4

2 に答える 2

4

現在の正規表現のいくつかの原因により、失敗する可能性があります。

^font-size:(*);

行の先頭に固定してい^ます - 属性が行の先頭にありません。

*それ自体では何の意味もありません。

次のように変更します。

font-size: ?\d{1,2}%;
于 2012-09-12T14:06:09.960 に答える
3

これはあなたが必要とする正規表現です:

string html = @"<font style=""font-size:85%;font-family:arial,sans-serif"">";
string pattern = @"font-size\s*?:.*?(;|(?=""|'|;))";
string cleanedHtml = Regex.Replace(html, pattern, string.Empty);

この正規表現は、がまたはでfont-size定義されている場合、または別の CSS スタイルのセットが定義されている (つまり、指定されていない) 場合でも機能します。結果はこちらでご覧いただけますptemfont-family

正規表現の説明は次のとおりです。

// font-size\s*?:.*?(;|(?="|'|;))
// 
// Match the characters “font-size” literally «font-size»
// Match a single character that is a “whitespace character” (spaces, tabs, and line breaks) «\s*?»
//    Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
// Match the character “:” literally «:»
// Match any single character that is not a line break character «.*?»
//    Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
// Match the regular expression below and capture its match into backreference number 1 «(;|(?="|'|;))»
//    Match either the regular expression below (attempting the next alternative only if this one fails) «;»
//       Match the character “;” literally «;»
//    Or match regular expression number 2 below (the entire group fails if this one fails to match) «(?="|'|;)»
//       Assert that the regex below can be matched, starting at this position (positive lookahead) «(?="|'|;)»
//          Match either the regular expression below (attempting the next alternative only if this one fails) «"»
//             Match the character “"” literally «"»
//          Or match regular expression number 2 below (attempting the next alternative only if this one fails) «'»
//             Match the character “'” literally «'»
//          Or match regular expression number 3 below (the entire group fails if this one fails to match) «;»
//             Match the character “;” literally «;»
于 2012-09-12T14:06:01.020 に答える