空白的正则表达式模式

Ton*_*llo 1 .net c# regex

我正在创建一个使用HTML的正则表达式库(我会在完成后将它发布在MSDN代码上).其中一个方法在结束标记之前删除任何空格.

<p>See the dog run </p>
Run Code Online (Sandbox Code Playgroud)

它将在结束段落之前消除空间.我用这个:

    public static string RemoveWhiteSpaceBeforeClosingTag(string text)
    {
        string pattern = @"(\s+)(?:</)";
        return Regex.Replace(text, pattern, "</", Singleline | IgnoreCase);
    }
Run Code Online (Sandbox Code Playgroud)

你可以看到我用</替换空格,因为我似乎无法匹配空格并排除结束标记.我知道有办法 - 我只是没想出来.

cle*_*tus 11

\s+(?=</)
Run Code Online (Sandbox Code Playgroud)

是你所追求的那种表达方式.它表示一个或多个空白字符后跟

总而言之,正则表达式是一种处理HTML的片状且容易出错的方式,因此如果有的话应该谨慎使用.