Python:正则匹配文本中的时间串

text='现在是北京时间2020-3-16 2020年3月16日 2020.3.16 13:00'
re.findall('\d{4}年\d{1,2}月\d{1,2}日',text)

[‘2020年3月16日’]

re.findall('\d{4}\-\d{1,2}\-\d{1,2}',text)

[‘2020-3-16’]

re.findall('\d{4}[\.\-/年]{1}\d{1,2}[\.\-/月]{1}\d{1,2}[\.\-/日]{0}',text)

[‘2020-3-16’, ‘2020年3月16’, ‘2020.3.16’]

正则表达式的() [] {} 有着不同的意思。
() 是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串
(\s*)表示连续空格的字符串
[] 是定义匹配的字符范围。比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符和数字。[\s表示空格或者号]
{}一般是用来匹配的长度。比如\s{3}表示匹配三个空格,\s[1,3]表示匹配1到3个空格
(0-9)匹配’0-9’本身。[0-9]匹配数字(注意后面有,可以为空)[0-9]+匹配数字(注意后面有+,不可以为空)
{0-9}写法是错误的
[0-9]{0,9}表示长度为0到9的数字字符串。
https://www.cnblogs.com/richiewlq/p/7307581.html

发布了71 篇原创文章 · 获赞 204 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_44198436/article/details/104910996