The 17-year-old girl identified only as Rebecca, had been walking home from a bar in Rostock on Friday night when, regional paper Express said, 28-year-old Mario B. grabbed her and threatened her with a knife.
He allegedly raped her on the street before taking her back to his house and tying her up. There, police believe he assaulted and raped her several more times over the following three days.
Officers said Rebecca survived her ordeal with enough wits about her to escape the house on Tuesday morning when Mario B. briefly left on an errand.
She was able to identify him to police who tracked him down via his mobile phone and arrested him in the city centre. He has already admitted kidnap, the paper said, although he will likely face charges of sexual assault, false imprisonment and aggravated battery.
He has spent around a decade in prison for various sexual and violent attacks since he was convicted of sexual assault aged just 14, and sent to a juvenile detention centre.
He was last released from prison last August after a three-year sentence, under a supervision order during which apparently no strange behaviour was observed.