Python正規表示式匹配日期與時間

2022-07-12 11:30:14 字數 2139 閱讀 2219

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

__author__ = '

randy

'import

refrom datetime import

datetime

test_date = '

他的生日是2016-12-12 14:34,是個可愛的小寶貝.二寶的生日是2016-12-21 11:34,好可愛的.

'test_datetime = '

他的生日是2016-12-12 14:34,是個可愛的小寶貝.二寶的生日是2016-12-21 11:34,好可愛的.'#

date

mat = re.search(r"

(\d-\d-\d)

",test_date)

print

mat.groups()

#('2016-12-12',)

print

mat.group(0)

#2016-12-12

date_all = re.findall(r"

(\d-\d-\d)

",test_date)

for item in

date_all:

print

item

#2016-12-12

#2016-12-21

#datetime

mat = re.search(r"

(\d-\d-\d\s\d:\d)

",test_datetime)

print

mat.groups()

#('2016-12-12 14:34',)

print

mat.group(0)

#2016-12-12 14:34

date_all = re.findall(r"

(\d-\d-\d\s\d:\d)

",test_datetime)

for item in

date_all:

print

item

#2016-12-12 14:34

#2016-12-21 11:34

## 有效時間

#如這樣的日期2016-12-35也可以匹配到.測試如下.

test_err_date = '

如這樣的日期2016-12-35也可以匹配到.測試如下.

'print re.search(r"

(\d-\d-\d)

",test_err_date).group(0)

#2016-12-35

#可以加個判斷

defvalidate(date_text):

try:

if date_text != datetime.strptime(date_text, "

%y-%m-%d

").strftime('

%y-%m-%d'):

raise

valueerror

return

true

except

valueerror:

#raise valueerror("錯誤是日期格式或日期,格式是年-月-日")

return

false

print validate(re.search(r"

(\d-\d-\d)

",test_err_date).group(0))

#false

#其他格式匹配. 如2016-12-24與2016/12/24的日期格式.

date_reg_exp = re.compile('

\d[-/]\d[-/]\d')

test_str= """

平安夜聖誕節2016-12-24的日子與去年2015/12/24的是有不同哦.

"""#

根據正則查詢所有日期並返回

matches_list=date_reg_exp.findall(test_str)

#列出並列印匹配的日期

for match in

matches_list:

print

match

#2016-12-24

#2015/12/24

Python 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 coding utf 8 ...

正規表示式匹配 python

coding utf 8 題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元 不包括空字元!而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ...

正規表示式 匹配

字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...