我正在尝试编写一个在点前后添加一个空格的正则表达式。
但是,如果点后有空格或行尾,我只想要这个。

但是,对于行尾情况,我无法这样做。

Eg.

I want a hotel. >> I want a hotel .
my email is [email protected] >> my email is [email protected]
I have to play. bye! >> I have to play . bye!

以下是我的代码:
# If "Dot and space" after word or number put space before and after
utterance = re.sub(r'(?<=[a-z0-9])[.][ $]',' . ',utterance)

我如何更正我的正则表达式以确保我上面的第一个示例也有效,我尝试在方括号中放置一个 $ 符号,但这不起作用。

最佳答案

[ $] 定义了一类由空格和美元符号组成的字符,因此它匹配空格或美元(字面意思)。要匹配空格或行尾,请使用 ( |$) (在这种情况下, $ 保持特殊含义。

关于用于行尾的 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44757825/

10-12 18:18