javascript中日期的正则表达式
为什么在字符串中搜索dd/mm/yyyy 这项工作:javascript中日期的正则表达式,javascript,Javascript,为什么在字符串中搜索dd/mm/yyyy 这项工作: /(\d\d?)\/(\d\d?)\/(\d{4})/ 但事实并非如此: /\d{2}\/\d{2}\/d{4}/ 你有一个打字错误,但你可能不知道为什么。第二个表达式正在查找d{4},而不是\d{4}。如果没有反斜杠,您只需查找字母d,而不是数字 此外,{2}表示您正在查找前面的字符/组中的2个,因此1/1/2014不会检测为阳性{1,2}将匹配一到两个连续项目。第一个表达式通过\d\d?实现该功能。?匹配前面的字符/组是否存在 va
/(\d\d?)\/(\d\d?)\/(\d{4})/
但事实并非如此:
/\d{2}\/\d{2}\/d{4}/
你有一个打字错误,但你可能不知道为什么。第二个表达式正在查找
d{4}
,而不是\d{4}
。如果没有反斜杠,您只需查找字母d
,而不是数字
此外,{2}
表示您正在查找前面的字符/组中的2个,因此1/1/2014
不会检测为阳性<代码>{1,2}将匹配一到两个连续项目。第一个表达式通过\d\d?
实现该功能。?
匹配前面的字符/组是否存在
var测试=[
{rx://\d{2}\/\d{2}\/d{4}/,文本:“10/10/dddddd”},//true
{rx://\d{2}\/\d{2}\/\d{4}/,文本:“10/10/2014”},//true
{rx://\d{2}\//\d{2}\/d{4}/,文本:“1/1/2014”},//false
{rx://\d{1,2}\/\d{1,2}\/\d{4}/,文本:“1/1/2014”},//true
{rx://\d{1,2}/,文本:“0”},//true
{rx://\d{1,2}/,文本:“00”},//true
{rx://\d\d?/,文本:“0”},//true
{rx://\d\d?/,文本:“00”},//true
];
测试。forEach(函数(t){
日志(“接收:%s,文本:%o,匹配:%o”,t.rx,t.text,t.rx.test(t.text));
});
d{4}
不同于\d{4}
\d\d?
也不同于\d{2}
。他问为什么某个特定的正则表达式不起作用,他的问题以重复的形式结束了。。。这让我很困惑。这两个不是重复的。一个简单的打字错误,是的。。。但不是链接问题的副本。只需输入错误,无需从评论中做出回答。@dystroy我在发布时没有看到评论。事实上,直到我开始起草答案,我才注意到拼写错误。对不起,这只是一个拼写错误,我对正则表达式还不熟悉,但我认为我做错了