Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
Javascript Regex帮助-特定年份或年份范围_Javascript_Angularjs_Regex - Fatal编程技术网

Javascript Regex帮助-特定年份或年份范围

Javascript Regex帮助-特定年份或年份范围,javascript,angularjs,regex,Javascript,Angularjs,Regex,我对这些不太在行。我不知道如何匹配这种情况:20122015特定年份2013-2015年份范围2013-*2013年之后的任何日期,即未来年份。我可以匹配前两个场景,但不能匹配最后一个 /^[0-9]{4}?:[,-*][0-9]{4}*$/ 201220132014-20152016-*不匹配您可以用逗号分割并逐个检查年份: 设s=201220132014-20152016-*,foo,292992322103-238; 设split=s.split','; 对于拆分的let x{ cons

我对这些不太在行。我不知道如何匹配这种情况:20122015特定年份2013-2015年份范围2013-*2013年之后的任何日期,即未来年份。我可以匹配前两个场景,但不能匹配最后一个

/^[0-9]{4}?:[,-*][0-9]{4}*$/


201220132014-20152016-*不匹配

您可以用逗号分割并逐个检查年份:

设s=201220132014-20152016-*,foo,292992322103-238; 设split=s.split','; 对于拆分的let x{ console.logdeterminex; } //或检查是否一切正常: 设allOk=split.everydetermine; console.logevery:,allOk; 函数确定性{ 设y=年。拆分'-'; if!y[0].match/^\d{4}$/返回false; 如果y[1]==='undefined'| | y[1]==''*'的类型返回true; 返回确定性[1];
} 这是一个适用于你的年份格式的正则表达式

[0-9]{4}\-?(?:[0-9]{4}|\*)?

下面是如何处理整个事情。如果您有更多的年份,并且不想以逗号结尾,则逗号不能是可选的,因此必须重复年份术语:

^[0-9]{4}(?:-(?:[0-9]{4}|\*))?(?:,[0-9]{4}(?:-(?:[0-9]{4}|\*))?)*$

将日期时间与正则表达式匹配不是一个好主意。改用各自编程语言中的函数。用逗号分割字符串,然后对照要查找的值检查得到的每个值。哦,没有想到分割。我要试一试!为正则表达式指定语言确实很有帮助。