import re
rx1 = re.compile(r'^\d+\.\d+\.\d+-\w')
rx2 = re.compile(r'^\d+\.\d+\.\d+$')
def extraction(parentTag):
return [x for x in parentTag if any(rx1.match(e) for e in x) or not any(rx2.match(e) for e in x)]
expected_input = [
['419adf7', '1.0.22-SNAPSSHOT'],
['1.0.24', '82e13c1', 'master'],
['1.0.25-1618314650'],
['1.0.10', '7ad4886'],
['1.0.13-1589279873', 'e597811'],
['73a3788'],
]
expected_input = extraction(expected_input)
print(expected_input)
#Current Output = [['1.0.25-1618314650'], ['1.0.13-1589279873', 'e597811']]
#Expected Output = [['1.0.25-1618314650'], ['1.0.13-1589279873', 'e597811'], ['419adf7', '1.0.22-SNAPSSHOT'], ['73a3788']]
aW1wb3J0IHJlCnJ4MSA9IHJlLmNvbXBpbGUocideXGQrXC5cZCtcLlxkKy1cdycpCnJ4MiA9IHJlLmNvbXBpbGUocideXGQrXC5cZCtcLlxkKyQnKQpkZWYgZXh0cmFjdGlvbihwYXJlbnRUYWcpOgoJcmV0dXJuIFt4IGZvciB4IGluIHBhcmVudFRhZyBpZiBhbnkocngxLm1hdGNoKGUpIGZvciBlIGluIHgpIG9yIG5vdCBhbnkocngyLm1hdGNoKGUpIGZvciBlIGluIHgpXQoKZXhwZWN0ZWRfaW5wdXQgPSBbCiAgICBbJzQxOWFkZjcnLCAnMS4wLjIyLVNOQVBTU0hPVCddLAogICAgWycxLjAuMjQnLCAnODJlMTNjMScsICdtYXN0ZXInXSwKICAgIFsnMS4wLjI1LTE2MTgzMTQ2NTAnXSwKICAgIFsnMS4wLjEwJywgJzdhZDQ4ODYnXSwKICAgIFsnMS4wLjEzLTE1ODkyNzk4NzMnLCAnZTU5NzgxMSddLAogICAgWyc3M2EzNzg4J10sCl0KCmV4cGVjdGVkX2lucHV0ID0gZXh0cmFjdGlvbihleHBlY3RlZF9pbnB1dCkKcHJpbnQoZXhwZWN0ZWRfaW5wdXQpCiNDdXJyZW50IE91dHB1dCA9IFtbJzEuMC4yNS0xNjE4MzE0NjUwJ10sIFsnMS4wLjEzLTE1ODkyNzk4NzMnLCAnZTU5NzgxMSddXQojRXhwZWN0ZWQgT3V0cHV0ID0gW1snMS4wLjI1LTE2MTgzMTQ2NTAnXSwgWycxLjAuMTMtMTU4OTI3OTg3MycsICdlNTk3ODExJ10sIFsnNDE5YWRmNycsICcxLjAuMjItU05BUFNTSE9UJ10sIFsnNzNhMzc4OCddXQ==