Samuel Zammt, 24, barricaded children in a bedroom at a house in Dundee and raped one eight-year-old and tried to rape a second eight-year-old on the same day.
In separate incidents in the city, he raped the 24-year-old woman on two separate occasions and repeatedly hit her on the stomach while she was pregnant.
Samuel Zammit, of Andover, Hampshire, had earlier denied the attacks during a trial at the High Court in Edinburgh but was convicted of the five offences.
The judge said Zammit was assessed as posing a high risk of sexual violence against adult women and medium risk to children.
Lady Scott also ordered that Zammit be kept under supervision for a further three-year period and warned that if he breached licence conditions during it he could be returned to prison.
She told the first offender he would remain on the sex offenders register indefinitely.
Zammit was found guilty of raping the woman on March 26 in 2015 at an address in Dundee after pushing her on to a sofa, restraining her and removing her underwear.
He was also convicted of raping the woman a second time in October 2016 when he again pushed her on to a sofa and restrained her.
He was also found guilty of assaulting the woman on an occasion between March 1 2015 and June 30 the following year by striking her on the abdomen when she was expecting.
Zammit was further convicted on majority verdicts of raping one girl and attempting to rape another on March 5 in 2016.
The woman told police that Zammit had raped her during a visit from England.
She said: “I told him to stop but he just forced himself on me.”
She said she found out she was expecting and Zammit turned up and hit her in the stomach when she was in the early stages of the pregnancy.
Weeks later she lost the baby.
Lady Scott told Zammit, prior to sentencing him, that she would give a copy of what she said to his lawyer so that he could go over it with him afterwards to make sure he understood her reasoning and sentence.