import re
phones = ['(232)6896232', '(123)4567891']
def positions_regex(regulars, text):
positions = []
for item in regulars:
pos = re.search(re.escape(item), text) # re.escape!
if pos:
positions.append({'start': pos.start(), 'end': pos.end()})
return positions
def positions_literal(regulars, text):
positions = []
for item in regulars:
pos = text.index(item) # re.escape!
if pos > -1:
positions.append({'start': pos, 'end': pos+len(item) })
return positions
s = "(232)6896232 --- (123)4567891"
print(positions_regex(phones, s))
print(positions_literal(phones, s))
aW1wb3J0IHJlCnBob25lcyA9IFsnKDIzMik2ODk2MjMyJywgJygxMjMpNDU2Nzg5MSddCmRlZiBwb3NpdGlvbnNfcmVnZXgocmVndWxhcnMsIHRleHQpOgoJcG9zaXRpb25zID0gW10KCWZvciBpdGVtIGluIHJlZ3VsYXJzOgoJCXBvcyA9IHJlLnNlYXJjaChyZS5lc2NhcGUoaXRlbSksIHRleHQpICMgcmUuZXNjYXBlIQoJCWlmIHBvczoKCQkJcG9zaXRpb25zLmFwcGVuZCh7J3N0YXJ0JzogcG9zLnN0YXJ0KCksICdlbmQnOiBwb3MuZW5kKCl9KQoJcmV0dXJuIHBvc2l0aW9ucwoKZGVmIHBvc2l0aW9uc19saXRlcmFsKHJlZ3VsYXJzLCB0ZXh0KToKCXBvc2l0aW9ucyA9IFtdCglmb3IgaXRlbSBpbiByZWd1bGFyczoKCQlwb3MgPSB0ZXh0LmluZGV4KGl0ZW0pICMgcmUuZXNjYXBlIQoJCWlmIHBvcyA+IC0xOgoJCQlwb3NpdGlvbnMuYXBwZW5kKHsnc3RhcnQnOiBwb3MsICdlbmQnOiBwb3MrbGVuKGl0ZW0pIH0pCglyZXR1cm4gcG9zaXRpb25zCgkKcyA9ICIoMjMyKTY4OTYyMzIgLS0tICgxMjMpNDU2Nzg5MSIKcHJpbnQocG9zaXRpb25zX3JlZ2V4KHBob25lcywgcykpCnByaW50KHBvc2l0aW9uc19saXRlcmFsKHBob25lcywgcykp