import re
def all_matching(str, rxs):
res = True
for rx in rxs:
p = re.compile(rx, re.M)
res = res and p.search(str)
return(res)
input1 = """DIR1\\FILE1.EXT1\tCONTENT11
DIR1\\FILE1.EXT1\tCONTENT12
DIR1\\FILE1.EXT1\tCONTENT13
DIR1\\FILE2.EXT1\tCONTENT21
DIR2\\FILE3.EXT2\tCONTENT31
DIR3\\FILE3.EXT2\tCONTENT11"""
input2 = """DIR1\\FILE1.EXT1\tCONTENT11
DIR1\\FILE1.EXT1\tCONTENT12
DIR1\\FILE1.EXT1\tCONTENT13
DIR1\\FILE2.EXT1\tCONTENT21
DIR2\\FILE3.EXT2\tCONTENT31"""
rxs = [r"^\S*FILE1\S*\tCONTENT11$",r"^\S*FILE1\S*\tCONTENT12$",r"^\S*FILE3\S*\tCONTENT11$"]
if all_matching(input1,rxs):
print("input1 matches all rxs") # excpected
else:
print("input1 do not match all rxs")
if all_matching(input2,rxs):
print("input2 matches all rxs")
else:
print("input2 do not match all rxs") # expected because input2 doesn't match wirh rxs[2]
aW1wb3J0IHJlCgpkZWYgYWxsX21hdGNoaW5nKHN0ciwgcnhzKToKCXJlcyA9IFRydWUKCWZvciByeCBpbiByeHM6CgkJcCA9IHJlLmNvbXBpbGUocngsIHJlLk0pCgkJcmVzID0gcmVzIGFuZCBwLnNlYXJjaChzdHIpCglyZXR1cm4ocmVzKQoKaW5wdXQxID0gIiIiRElSMVxcRklMRTEuRVhUMVx0Q09OVEVOVDExCkRJUjFcXEZJTEUxLkVYVDFcdENPTlRFTlQxMgpESVIxXFxGSUxFMS5FWFQxXHRDT05URU5UMTMKRElSMVxcRklMRTIuRVhUMVx0Q09OVEVOVDIxCkRJUjJcXEZJTEUzLkVYVDJcdENPTlRFTlQzMQpESVIzXFxGSUxFMy5FWFQyXHRDT05URU5UMTEiIiIKCmlucHV0MiA9ICIiIkRJUjFcXEZJTEUxLkVYVDFcdENPTlRFTlQxMQpESVIxXFxGSUxFMS5FWFQxXHRDT05URU5UMTIKRElSMVxcRklMRTEuRVhUMVx0Q09OVEVOVDEzCkRJUjFcXEZJTEUyLkVYVDFcdENPTlRFTlQyMQpESVIyXFxGSUxFMy5FWFQyXHRDT05URU5UMzEiIiIKCnJ4cyA9IFtyIl5cUypGSUxFMVxTKlx0Q09OVEVOVDExJCIsciJeXFMqRklMRTFcUypcdENPTlRFTlQxMiQiLHIiXlxTKkZJTEUzXFMqXHRDT05URU5UMTEkIl0KCmlmIGFsbF9tYXRjaGluZyhpbnB1dDEscnhzKToKCXByaW50KCJpbnB1dDEgbWF0Y2hlcyBhbGwgcnhzIikgIyBleGNwZWN0ZWQKZWxzZToKCXByaW50KCJpbnB1dDEgZG8gbm90IG1hdGNoIGFsbCByeHMiKQoKaWYgYWxsX21hdGNoaW5nKGlucHV0MixyeHMpOgoJcHJpbnQoImlucHV0MiBtYXRjaGVzIGFsbCByeHMiKQplbHNlOgoJcHJpbnQoImlucHV0MiBkbyBub3QgbWF0Y2ggYWxsIHJ4cyIpICMgZXhwZWN0ZWQgYmVjYXVzZSBpbnB1dDIgZG9lc24ndCBtYXRjaCB3aXJoIHJ4c1syXQ==