gpt4 book ai didi

python - 时间格式正则表达式 HH :MM AM/am/PM/pm in python

转载 作者:行者123 更新时间:2023-12-01 02:04:18 25 4
gpt4 key购买 nike

我编写了正则表达式来捕获 HH:MM AM/PM/am/pm 但它无法提取精确的模式

正则表达式代码:

import re
def replace_entities(example):
res = ''
# TIME
m = re.findall("\d{2}:\d{2} (:?AM|PM|am|pm)", example)
if m:
for id in m:
res = res +"\n{} :TIMESTR".format(id)

m = re.findall("\d{2}:\d{2}:\d{3} (:?AM|PM|am|pm)", example)
if m:
for id in m:
res = res +"\n{} :TIMESTR".format(id)

print(replace_entities('My name is sayli, Todays time is 12:10 PM Date is 21/08/2018 otal amount is www.amazon.com chandanpatil@yahoo.com euros 10,2018/13/09 saylijawale@gmail.com. https://imarticus.com Account number is Accountsortcode:abca123456'))

但我无法将 12:10 PM 捕获为 TIMESTR

尝试过的正则表达式的链接。奥 git _a 我该如何纠正它?有什么建议请帮忙

最佳答案

试试这个:

\s(\d{2}\:\d{2}\s?(?:AM|PM|am|pm))

说明:

\s 匹配任何空白字符(等于 [\r\n\t\f\v ]) 第一次捕获

\d{2} 匹配数字(等于 [0-9]) {2} 量词 — 精确匹配 2 次

\: 与字符 : 字面匹配(区分大小写)

\d{2} 匹配数字(等于 [0-9]) {2} 量词 — 精确匹配 2 次

\s? 匹配任何空白字符(等于 [\r\n\t\f\v ])0 次或多次

非捕获组(?:AM|PM|am|pm)第一个备选 AM AM 与字面上的字符 AM 匹配(区分大小写) 第二个备选 PM 第三个备选 am 第四个备选 pm

实际操作:

>>> import re
>>> re.findall(r'\s(\d{2}\:\d{2}\s?(?:AM|PM|am|pm))', 'Time today is 10:30 PM')
['10:30 PM']

关于python - 时间格式正则表达式 HH :MM AM/am/PM/pm in python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49217248/

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