private static string DataContentItemReg = @"(?<DataContentItem>\[(?<DataContentItemName>(\w+\.)?\w+)\])";//数据组内容项名称
        private Regex DataContentItemsReg = new Regex(DataContentItemReg, RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);//数据项组请问这两行代码是什么意思呢?
谢谢!

解决方案 »

  1.   

    None
     N/A
     指定不设置任何选项。
     
    IgnoreCase
     i
     指定不区分大小写的匹配。
     
    Multiline
     m
     指定多行模式。更改 ^ 和 $ 的含义,以使它们分别与任何行的开头和结尾匹配,而不只是与整个字符串的开头和结尾匹配。
     
    ExplicitCapture
     n
     指定唯一有效的捕获是显式命名或编号的 (?<name>…) 形式的组。这允许圆括号充当非捕获组,从而避免了由 (?:…) 导致的语法上的笨拙。
     
    Compiled
     N/A
     指定正则表达式将被编译为程序集。生成该正则表达式的 Microsoft 中间语言 (MSIL) 代码;以较长的启动时间为代价,得到更快的执行速度。
     
    Singleline
     s
     指定单行模式。更改句点字符 (.) 的含义,以使它与每个字符(而不是除 \n 之外的所有字符)匹配。
     
    IgnorePatternWhitespace
     x
     指定从模式中排除非转义空白并启用数字符号 (#) 后面的注释。请注意,空白永远不会从字符类中消除。
     
    RightToLeft
     N/A
     指定搜索是从右向左而不是从左向右进行的。具有此选项的正则表达式将移动到起始位置的左边而不是右边。
     
    ECMAScript
     N/A
     指定已为表达式启用了符合 ECMAScript 的行为。此选项仅可与 IgnoreCase 和 Multiline 标志一起使用。将 ECMAScript 同任何其他标志一起使用将导致异常。
     
    CultureInvariant
     N/A
     指定忽略语言中的区域性差异。
     
    本文来自CSDN博客,转载请标明出处:过客的博客http://blog.csdn.net/lxcnn/archive/2009/07/31/4395945.aspx
      

  2.   

    基本语法看过一些,现在就是想弄明白下面这个表达式的意义:<DataContentItem>\[(? <DataContentItemName>(\w+\.)?\w+)\])"
      

  3.   

    ?<DataContentItem> 是一个名字叫DataContentItem的捕获组
    \w  任意一个字母或数字或下划线,相当于[a-zA-Z0-9_]
    +   表达式匹配1次或意多次,至少1次,相当于{1,} 
    http://blog.csdn.net/lxcnn/archive/2009/06/14/4268033.aspx
    过客的这篇博客里面都有
      

  4.   

    (?<DataContentItem>\[(?<DataContentItemName>(\w+\.)?\w+)\])(?<name>Exp) 命名捕获组上一帖已解释
    \[ 普通字符[,因为[是正则中的元字符,所以在匹配其本身时需要转义处理
    \w 字母、数字、下划线中的任意一个字符
    (\w+\.)?\w+) 表示类似于abc.def.ghi这种用小数点隔开的字符串
    \] 普通字符],需转义原因同[整个正则表达式意义就是取[]之间的内容下面的匹配模式同样属于滥用,上一帖已解释
      

  5.   

    楼主应该先看下客客的blog
      

  6.   

    匹配以"["开头到"]"结束的 字母数字下划线.匹配0次或者1次后面匹配多次\w, 获得的数据放到DataContentItemName组内,然后放到DataContentItem组内~!
    应该是这个意思。。
    第二句正如过客写的,模式匹配基本属于滥用