python正则表达式在标点符号和字母之间插入空格

Eng*_*rad 4 python regex string

我认为最好的方法是使用正则表达式,但我不知道该怎么做.我试图解析一个字符串,并在字母和标点之间放置一个空格.我想把标点符号放在一起.举个例子,如果我有字符串

"是!!!"

我想结束

"是","!!!".

如果我有字符串

!N00bs,

我想结束

"!!!","N00bs"

这可能吗?做这个的最好方式是什么?现在我正在解析每个字母,这是一种愚蠢的方式.

谢谢您的帮助.

beh*_*uri 13

这样的事情:

txt = re.sub( r'([a-zA-Z])([,.!])', r'\1 \2', '!!!this, .is, .a .test!!!' )
Run Code Online (Sandbox Code Playgroud)

你可以切换另一个方向的顺序

re.sub( r'([,.!])([a-zA-Z])', r'\1 \2', txt )
Run Code Online (Sandbox Code Playgroud)

也许你也可以在一个正则表达式中使它工作