How do i deal with typos?

i have data of firms with many typos and following are examples of the typo pattern:

pattern 1 :
3E xyz private limited
3 E xyz private limited
3 Exyz private limited

pattern 2 :
abc private limited
abc pvt. LTD.
abc private LTD.

pattern 3:
zzz private limited
zzz private limited ( multiple space )

i have such unknown number of pattern in column and i need to use group by function in python. how should i approach this problem ?