python常规如何用Letter匹配一个点?

Nam*_*Nam 1 python regex

我想要匹配字符串:

what.are you doing?
Run Code Online (Sandbox Code Playgroud)

匹配在一个点后面有一些字母 并替换"." 用"."

结果如:
what. are you doing?

更多的例子

输入

uh....i don't know
Run Code Online (Sandbox Code Playgroud)

产量

uh.... i don't know
Run Code Online (Sandbox Code Playgroud)

输入

do you know....that thing?
Run Code Online (Sandbox Code Playgroud)

产量

do you know.... that thing?
Run Code Online (Sandbox Code Playgroud)

Ale*_*xey 7

这应该适合你的情况:

re.sub(r'(?<=\S)\.(?=\w)', '. ', s)
Run Code Online (Sandbox Code Playgroud)

这使用一个正向的lookbehind断言(?<=...)来检查点是否前面是非空格字符\S.正向后看断言(?=\w)检查点后面是否跟着字母数字字符.