Well, I'm certainly not the one to ask about regex. I thought I had this nailed down, but had to resort to this to get it to work in MATLAB. I bet it could be simpler.
vec = '5ad3515505546151g5454651333300342511324sgfb1565440444532152331450005534563asdf445341536404334400044453';
C = regexp(vec,'(\d)\1*0+\1+','match')
(\d) matches and captures any numeric digit
\1* matches zero or more instances of the captured digit
0+ matches one or more zeros
\1+ matches one or more instances of the captured digit