正则表达式:匹配字符串后跟点/逗号后跟空格

时间:2021-04-15 17:46:36

标签: python regex

我想转text = "hello this is me, and only me. be carefull from 911. "

进入:text = "hello this is me,<break></break> and only me.<break></break> be carefull from 911. "

仅适用于后跟点或逗号而非数字的字符串。

我尝试过这个表达式:r"\w+([.,])+\s*" 但它也匹配数字。

1 个答案:

答案 0 :(得分:1)

你可以使用

re.sub(r'([^\W\d_][.,])(\s+)', r'\1<break></break>\2', text)

参见regex demo

详情

  • ([^\W\d_][.,]) - 第 1 组 (\1):任何字母,然后是 .,
  • (\s+) - 第 2 组 (\2):一个或多个空白字符。

Python demo

import re
text = "hello this is me,<break></break> and only me.<break></break> be carefull from 911. "
print(re.sub(r'([^\W\d_][.,])(\s+)', r'\1<break></break>\2', text))
# => hello this is me,<break></break> and only me.<break></break> be carefull from 911.