R, 64 5858 57 bytes
Edit: -1 byte thanks to @Dominic van Essen.
\(x){regmatches(x,t)<-Map=Map(attr,t<-gregexpr("0+",x),"m")
x}
Or as a one-liner:
\(x)`regmatches<-`(x,t<-gregexpr("0+",x),,Map(attr,t,"m"))
Attempt This Online!Attempt This Online!
R
has some weird string manipulation functions...