如何编写正则表达式来删除分号后面的单词,直到它到达第一个句点标记?
例如:
try to be nice; underastand people. start fresh.
我想删除“理解人”并添加类似的内容
try to be nice. start fresh
这是我的正则表达式,但遗憾的是它不起作用:
sentence = ''.join(re.sub(r';.*?.', '.', sentence))
谢谢!
最佳答案
您忘记转义点:r';.*?\.'
。另外,这里不需要join
任何东西,您将一个字符串传递给re.sub
,然后您会得到一个字符串。
A r';[^.]+'
正则表达式似乎更好,因为它会匹配 ;
和 1+ 个字符而不是文字点(所以,你可以替换为空字符串):
import re
sentence = "try to be nice; underastand people. start fresh."
sentence = re.sub(r';[^.]+', '', sentence)
print(sentence)
# => try to be nice. start fresh.
请参阅Python demo
关于python - 正则表达式删除分号和句号之间的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41042439/