正则表达式令我头疼,任何人都可以为我解决这个问题吗?.Net Reg Ex精确匹配
在c#中我打电话以下,并期待真实的,我必须承认我在正则表达式非常周。
关于()和(\)&之前的\影响的含义的简要解释。
var isValid = Regex.IsMatch(
"from=20100101&to=20121231",
"^(from=)([0-9]{6})\\&to=([0-9]{6})$"
);
正则表达式令我头疼,任何人都可以为我解决这个问题吗?.Net Reg Ex精确匹配
在c#中我打电话以下,并期待真实的,我必须承认我在正则表达式非常周。
关于()和(\)&之前的\影响的含义的简要解释。
var isValid = Regex.IsMatch(
"from=20100101&to=20121231",
"^(from=)([0-9]{6})\\&to=([0-9]{6})$"
);
这将返回true
var isValid = Regex.IsMatch("from=20100101&to=20121231",@"^from=[0-9]{8}&to=[0-9]{8}$");
的\
用来逃生否则特殊字符。所以被视为字面值而不是正则表达式语言中的意义。例如\.
表示匹配一个点,而.
本身是通配符,意思是“匹配\ n以外的任何单个字符”。
(subexpression)
被称为分组并捕获与内部子表达式匹配的所有内容,并为其分配一个从零开始的序号。该匹配可以用使用该语法分配的序号来引用\0
该参数是宽泛的并且具有多种变化。
您可以从此开始reference on MSDN
注意。我已更正您的模式,删除分组,\ &(与号不是特殊字符),并将匹配的数字扩展为8位数字 (如果您的日期只包含6位数字,则可以设置{6,8}表示min 6,最大8位)
感谢您的解释和修复。我似乎无法将多个答复标记为答案。 – Simon
您可以随意给您最好的支票,随意改变主意 – Steve