private static string DataContentItemReg = @"(?<DataContentItem>\[(?<DataContentItemName>(\w+\.)?\w+)\])";//数据组内容项名称
private Regex DataContentItemsReg = new Regex(DataContentItemReg, RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);//数据项组请问这两行代码是什么意思呢?
谢谢!
private Regex DataContentItemsReg = new Regex(DataContentItemReg, RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled);//数据项组请问这两行代码是什么意思呢?
谢谢!
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
\w 任意一个字母或数字或下划线,相当于[a-zA-Z0-9_]
+ 表达式匹配1次或意多次,至少1次,相当于{1,}
http://blog.csdn.net/lxcnn/archive/2009/06/14/4268033.aspx
过客的这篇博客里面都有
\[ 普通字符[,因为[是正则中的元字符,所以在匹配其本身时需要转义处理
\w 字母、数字、下划线中的任意一个字符
(\w+\.)?\w+) 表示类似于abc.def.ghi这种用小数点隔开的字符串
\] 普通字符],需转义原因同[整个正则表达式意义就是取[]之间的内容下面的匹配模式同样属于滥用,上一帖已解释
应该是这个意思。。
第二句正如过客写的,模式匹配基本属于滥用