代码之家  ›  专栏  ›  技术社区  ›  Tony Basallo

空格的正则表达式模式

  •  1
  • Tony Basallo  · 技术社区  · 17 年前

    我正在创建一个正则表达式库来处理HTML(完成后,我将在MSDN代码中发布它)。其中一个方法删除结束标记前的所有空格。

    <p>See the dog run </p>
    

    这将消除结束段落前的空白。我用的是:

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

    如您所见,我将用</因为我似乎无法仅匹配空格并排除结束标记。我知道有一种方法——我只是还没想出来。

    2 回复  |  直到 17 年前
        1
  •  11
  •   cletus    17 年前
    \s+(?=</)
    

    这就是你想要的表情。它表示一个或多个空格字符后跟

    总而言之,正则表达式是处理HTML的一种不稳定且容易出错的方法,因此如果使用正则表达式,应谨慎使用。

        2
  •  3
  •   Daniel Martin    17 年前

    您需要一个先行(?=)模式:

    \s+(?=</)
    

    可替换为“”

    推荐文章