# Spaces before fullstop marks
s	\s+\.(\s+|$)	.$1
# Spaces before punctuation marks
# TODO: should I use \p{P}
# TODO: . and () [] {} <> are not included
s	\s+([:,!\?؟;،؛]+\s*)	$1
# assert one space after punctuation marks
s	([:,!\?؟;،؛]+)(?!\s)	$1 
# assert no spaces between punctuation marks like "?!"
s	([:,!\?؟;،؛])\s+(?=[:,!\?؟;،؛])	$1
