import re
candis = ['mmol','mm']
test_reg = r"\d+(?=((?:\s*(?:{})-?[1-4]?){{1,3}}))\1\b".format('|'.join(candis))
test_str = '3 mmol mm 3 mmol2mm and 3 mmolmm AND NOT 3 mmol mmb'
#print(test_reg) # \d+(?:\s*(?:mmol|mm)-?[1-4]?){1,3}\b
print( [x.group() for x in re.finditer(test_reg,test_str)] )
aW1wb3J0IHJlIAoKY2FuZGlzID0gWydtbW9sJywnbW0nXQp0ZXN0X3JlZyA9IHIiXGQrKD89KCg/OlxzKig/Ont9KS0/WzEtNF0/KXt7MSwzfX0pKVwxXGIiLmZvcm1hdCgnfCcuam9pbihjYW5kaXMpKQp0ZXN0X3N0ciA9ICczIG1tb2wgbW0gMyBtbW9sMm1tIGFuZCAzIG1tb2xtbSBBTkQgTk9UIDMgbW1vbCBtbWInCgojcHJpbnQodGVzdF9yZWcpICMgXGQrKD86XHMqKD86bW1vbHxtbSktP1sxLTRdPyl7MSwzfVxiCnByaW50KCBbeC5ncm91cCgpIGZvciB4IGluIHJlLmZpbmRpdGVyKHRlc3RfcmVnLHRlc3Rfc3RyKV0gKQ==