鍍金池/ 問答/Python/ 正則表達(dá)式條件匹配

正則表達(dá)式條件匹配

請問正則表達(dá)如何匹配多條件?

例如:想匹配2017全年月日 , 就是 20170101到20171231

又想匹配2018年8月份之前的日期 就是 20180101到20180731

求解答。

回答
編輯回答
脾氣硬

/^(2017(0\d|10|11|12)|2018(0[1-7]))([0-2][0-9]|30|31)$/

2017年10月27日 18:08
編輯回答
殘淚

不好匹配吧? 有的月28 30天的 閏年這種的。。
百度搜的,你改改。。

3.完整的年月日正則表達(dá)式
^((([0-9]{2})(0[48]|[2468][048]|[13579][26]))   #閏年,能被4整除但不能被100整除
|((0[48]|[2468][048]|[13579][26])00)   #閏年,能被400整除
-02-29)  #匹配閏年2月29日這一天。如果不是這一天,則由下面式子繼續(xù)匹配驗證。 
|([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}) #平年(0001-9999)
-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))   #月日,1、3、5、7、8、10、12月有31天
|((0[469]|11)-(0[1-9]|[12][0-9]|30))   #月日,4、6、9、11月有30天
|(02-(0[1-9]|[1][0-9]|2[0-8])))   #平年2月只有28天,月日表示為【02-01至02-28】
2017年10月16日 03:29
編輯回答
護(hù)她命
(2017[0-1][0-9].{2}|20180[1-7].{2})

語句重點是 (表達(dá)式1|表達(dá)式2)

意思是匹配表達(dá)式1或者匹配表達(dá)式2

2018年7月26日 16:28