学习python的正则表达式时遇到的问题

import re

str1 = "13:46:22.035"
if re.search("^[00-23]", str1):
    print(str1)
if re.search("^[00-23]:", str1):
    print(str1)
if re.search("^[00-23]:[00-59]:[00-59]", str1):
    print(str1)

E:\Python\AdvancedPython\venv\Scripts\python.exe E:/Python/AdvancedPython/test1.py
13:46:22.035

Process finished with exit code 0

有这么一个字符串"13:46:22.035",我想要尽可能多的匹配这种时间字符串的格式,但是只有第一个(^[00-23])正常匹配到了,请会python的同学们看看^[00-23]:为什么仅仅是加了一个冒号就无法正常匹配到字符串。

00-23不是匹配0~23这个区间的数字,而是匹配0,0-2,3这些数字

先看看关于正则的文档吧 https://www.runoob.com/python/python-reg-expressions.html

没有[00-23]这样的正则表达式,写代码要按照文档,这方面不能搞创造发明

匹配0-23的正则是 [0-1]\d|2[0-3]
匹配0-59的正则是 [0-5]\d+