import re
list_strings = ['[ABC1: text1]', '[[DC: this is a text]]', '[ABC-O: potatoes]', '[[C-DF: hello]]']

#remove from [ up to : 
for string in list_strings:
	m = re.search(r'\[+[A-Z\d-]+:\s*(.*?)\s*]', string)
	if m:
		print(m.group(1))

	# All matches
	matches = re.findall(r'\[+[A-Z\d-]+:\s*(.*?)\s*]', string)
	print(matches)