【问题标题】:C# Regular Expression matching valid HTML attribute valueC# 正则表达式匹配有效的 HTML 属性值
【发布时间】:2011-03-03 22:28:15
【问题描述】:

有人有这个正则表达式吗?

 public static class HtmlAttributeValidator{

     const bool REGEX_OPTIONS = RegexOptions.WhatGoesHere;

     const string VALID_ATTRIBUTE_REGEX = @"What goes here?";

     public static bool IsValidHtmlAttributeValue(string attributeValue){
           return Regex.Match(attributeValue ?? string.Empty, 
                              VALID_ATTRIBUTE_REGEX, 
                              REGEX_OPTIONS);
     }

 }

【问题讨论】:

    标签: c# regex html-parsing w3c-validation


    【解决方案1】:

    你不会找到这样的正则表达式,因为许多属性值可以取any有效的文本值,因此这些值是not正则的,不能被匹配一个正则表达式。

    查看this HTML 属性列表以及它们可以采用的值。特别注意采用CDATA 值的那些:

    CDATA 是文档字符集中的字符序列,可能包括字符实体。

    【讨论】:

    • html 属性值是否可以包含双引号或标签?看起来这将是一个约束。我不是试图单独匹配标签的正则表达式,而是所有属性必须满足的基本正则表达式。
    • @smartcaveman - 如果用单引号分隔值,则可以在其中使用双引号。如果不需要,则需要使用 &quote; 转义引号。至于< - 建议始终将其转义为<
    猜你喜欢
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多