Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net Reg Ex精确匹配_.net_Regex - Fatal编程技术网

.Net Reg Ex精确匹配

.Net Reg Ex精确匹配,.net,regex,.net,Regex,RegEx让我头疼,有人能帮我解决吗 在c#中,我打电话给下面的人,希望是真的,我必须承认,我在regex工作了很长时间 还简要说明了()和&前\的影响的含义 var isValid = Regex.IsMatch( "from=20100101&to=20121231", "^(from=)([0-9]{6})\\&to=([0-9]{6})$" ); 这将成为现实 var isValid = Regex.IsMatch("from=20100101&am

RegEx让我头疼,有人能帮我解决吗

在c#中,我打电话给下面的人,希望是真的,我必须承认,我在regex工作了很长时间

还简要说明了()和&前\的影响的含义

var isValid = Regex.IsMatch(
     "from=20100101&to=20121231",
     "^(from=)([0-9]{6})\\&to=([0-9]{6})$"
);
这将成为现实

var isValid = Regex.IsMatch("from=20100101&to=20121231",@"^from=[0-9]{8}&to=[0-9]{8}$");
\
用于转义其他特殊字符。在正则表达式语言中,So被视为其字面值,而不是其含义。例如,
\.
表示匹配一个点,而
本身是一个通配符,表示“匹配除\n以外的任何单个字符”

(子表达式)
称为分组,它捕获与内部子表达式匹配的所有内容,并为其分配一个从零开始的序号。此匹配可以使用使用此语法分配的序号引用
\0

这一论点涉及面很广,而且有许多不同之处。
你可以从这个开始

注意。我已经纠正了您的模式,删除了分组\&(与符号不是特殊字符),并将匹配的数字扩展到8位 (如果日期仅由6位数字组成,则可以设置{6,8}表示最小6位,最大8位)

这将返回真值

var isValid = Regex.IsMatch("from=20100101&to=20121231",@"^from=[0-9]{8}&to=[0-9]{8}$");
\
用于转义其他特殊字符。在正则表达式语言中,So被视为其字面值,而不是其含义。例如,
\.
表示匹配一个点,而
本身是一个通配符,表示“匹配除\n以外的任何单个字符”

(子表达式)
称为分组,它捕获与内部子表达式匹配的所有内容,并为其分配一个从零开始的序号。此匹配可以使用使用此语法分配的序号引用
\0

这一论点涉及面很广,而且有许多不同之处。
你可以从这个开始

注意。我已经纠正了您的模式,删除了分组\&(与符号不是特殊字符),并将匹配的数字扩展到8位 (如果日期仅由6位数字组成,则可以设置{6,8}表示最少6位,最多8位)

尝试以下方法:

^from=(\d{8})&to=(\d{8})$
试试这个:

^from=(\d{8})&to=(\d{8})$

您已要求用{6}输入6个连续数字。然而,您实际上是在寻找8,yyyymmdd。

您要求的是带有{6}的6个连续数字。但是,您需要的是8,yyyymmdd。

谢谢您的解释和修复。我似乎无法将多个回复标记为答案。您可以将支票交给最好的一个,并随时改变主意。谢谢您的解释和修复。我似乎无法将多个回复标记为答案。你可以将支票交给最好的一个,并随意改变主意