Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Regex 日期不起作用的正则表达式_Regex_Date - Fatal编程技术网

Regex 日期不起作用的正则表达式

Regex 日期不起作用的正则表达式,regex,date,Regex,Date,我使用下面的正则表达式表示日期,格式为dd-mm-yyyy ^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$ ^^^^^ 有了这个正则表达式,我相信我只能使用19xx年和20xx年。我希望用户可以输入从20xx到99xx 为此,我在下面尝试过,但它不起作用 ^(0[1-9]|[12][0-9]|3[01])[-

我使用下面的正则表达式表示日期,格式为dd-mm-yyyy

^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$
                                                     ^^^^^
有了这个正则表达式,我相信我只能使用19xx年和20xx年。我希望用户可以输入从20xx到99xx

为此,我在下面尝试过,但它不起作用

^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]([20-99])\d\d$
                                                     ^^^^^^^
我对正则表达式了解不多,但基于
0[1-9]
我认为
([20-99])
会起作用

我应该在上面的正则表达式中做什么更改,以便输入2000-9999作为年份

^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]([2-9][0-9])\d\d$


年份部分不是问题所在<代码>[20-99]不起作用,您只能定义某些字符(如
[a-zA-Z9-0]
)。这个问题出了什么问题?年份部分不是问题
[20-99]
不起作用,您只能定义某些字符(如
[a-zA-Z9-0]
)。这个问题出了什么问题?您想要20-99,所以应该是[2-9][0-9]谢谢。。。它的沃克林。。。我会在一段时间后接受答案。。。也就是说“你可以在9分钟内接受答案”我如何使用regex验证
12:00 PM
?AM/PM可能是[AP]Myou想要的20-99,那将是[2-9][0-9]谢谢。。。它的沃克林。。。我会在一段时间后接受答案。。。也就是说“你可以在9分钟内接受答案”我如何使用regex验证
12:00 PM
?AM/PM可能是[AP]M
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.][2-9]\d\d\d$
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.][2-9]\d{3}$