gpt4 book ai didi

python - 使用正则表达式查找日期

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:05 25 4
gpt4 key购买 nike

我正在尝试编写代码来清理不同日期格式的日期(例如 3/14/201503-14-2015 2015/3/14),将其替换为单一标准格式的日期。到目前为止,我已经编写了正则表达式,但它没有按照我想要的方式工作。

import pyperclip,re

dateRegex = re.compile(r'''
(\d|\d{2}|\d{4}) # match 1 digit, or two digits, or four digits
(\s|-|\.|\/) # match either a space or a dash or a period or a backslash
(\d{2}|\d) # match either 2 digits or one
(\s|-|\.\/) # match either a space or a dash or a period or a backslash
(\d{4}|\d{2}) # match either 4 or 2 digits.
''',)

text = "12/25/0000, 10.21.1955, 10-21-1985 6-5-1995 2004/2/21 5/25/2111 4999.2.21 "
a = dateRegex.findall(text):

知道为什么这不起作用吗?

最佳答案

此代码有效 (see live) :

import re
p = re.compile(ur'''(\d|\d{2}|\d{4}) # match 1 didget, or two didgets, or four didgets
([-\s./]) # match either a space or a dash or a period or a backslash
(\d{1,2}) # match either 2 digets or one
([-\s./]) # match either a space or a dash or a period or a backslash
(\d{4}|\d{2}) # match either 4 or 2 didgets.''', re.VERBOSE)
test_str = u"12/25/0000, 10.21.1955, 10-21-1985 6-5-1995 2004/2/21 5/25/2111 4999.2.21 "

print(p.findall(test_str))

您忘记了选项re.VERBOSE,这意味着:

Spaces and text after a # in the pattern are ignored

关于python - 使用正则表达式查找日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38353618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com