tms需要正则表达式过滤器_原始.YYYMMDDHHMMSS.ou

2024-06-16 10:27:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我创造了一个模式:

^(\W|^)tms_raw\.([0-9]{4})(-?)(1[0-2]|0[1-9])\2(3[01]|0[1-9]|[12][0-9])([0-2]{1})([0-3]{1}([0-5]{1})([0-9]{1})([0-5]{1})([0-9]{1}))(\.out)(\W|$)

它试图捕获,tms_raw.YYYYMMDDHHMMSS.out字符串

背景,我是怎么创造这个模式的?你知道吗

for matching YYYYMMDDHHMMSS        ^([0-9]{4})(-?)(1[0-2]|0[1-9])\2(3[01]|0[1-9]|[12][0-9])([0-2]{1})([0-3]{1}([0-5]{1})([0-9]{1})([0-5]{1})([0-9]{1}))$

for matching tms_raw.              ^(\W|^)tms_raw\.(\W|$)

for matching .out                  ^(\W|^)\.out(\W|$)

我创建的模式没有捕捉到tms_原始.YYYYMMDDHHMMSS.out. 如何组合regex,我为匹配单个元素,匹配tms_raw.20080108235952.out


Tags: 字符串元素forraw模式outregex背景
1条回答
网友
1楼 · 发布于 2024-06-16 10:27:02

价值观会改变吗? 我会用Python重组破译零件。你知道吗

r = re.compile("(?P<head>[\w]*?)\.(?P<time>[\d-]*)\.(?P<ending>[\w]{3,4})")
found = r.search("tms_raw.20080108235952.out")
#if found 
print( found.groupdict() ) 

编辑

更改分组可以对时间进行子解析,也可以只使用时间

myTime = datetime.datetime.strptime("20080108235952", "%Y%m%d%H%M%S")

相关问题 更多 >