If I have a Python Unicode string that contains combining characters, len reports a value that does not correspond to the number of characters \"seen\".
If you have a regex flavor that supports matching grapheme, you can use \X
Demo
While the default Python re module does not support \X, Matthew Barnett's regex module does:
>>> len(regex.findall(r'\X', u'A\u0332\u0305BC'))
3
On Python 2, you need to use u in the pattern:
>>> regex.findall(u'\\X', u'A\u0332\u0305BC')
[u'A\u0332\u0305', u'B', u'C']
>>> len(regex.findall(u'\\X', u'A\u0332\u0305BC'))
3