Apparently there are many ways to say "girl / young woman" in Japanese.
I've learned the differences between 女の子, 少女 and 乙女 from other question in this SE, where 女の子 seems to be the most common way to say "girl", but recently I noticed that yet another two words exist for "girl": 女子{じょし} (joshi) and 娘子{じょうし} (joushi).
So, my question is, what's the difference between 女子, 娘子 and 女の子?