.Net Reg Ex精确匹配
RegEx让我头疼,有人能帮我解决吗 在c#中,我打电话给下面的人,希望是真的,我必须承认,我在regex工作了很长时间 还简要说明了()和&前\的影响的含义.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
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。谢谢您的解释和修复。我似乎无法将多个回复标记为答案。您可以将支票交给最好的一个,并随时改变主意。谢谢您的解释和修复。我似乎无法将多个回复标记为答案。你可以将支票交给最好的一个,并随意改变主意