Для вашего SECOND регулярного выражения, на самом деле оно не соответствует, потому что вы использовали диапазон символов, например [0-9A-T-.]{24}
, но в заданной вами входной строке есть символ с именем X поэтому я думаю, что вам нужно изменить существующее регулярное выражение, например A-T
на A-Z
, тогда оно будет идеально соответствовать вашей строке.
^ABC--[0-9A-Z-.]{24}--[a-z0-9]{40}$
REGEX : https://regex101.com/r/fsp3FS/24
Код Python:
# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^ABC--[0-9A-Z-.]{24}--[a-z0-9]{40}$"
test_str = "ABC--2000-01-10X13-11-44.237Z--572b3b7681572b3b7681572b3b7681572b3b7681"
matches = re.search(regex, test_str, re.IGNORECASE)
if matches:
print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))
for groupNum in range(0, len(matches.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.group(groupNum)))