re.split没有给出正则表达式的最后一个字符

时间:2014-03-05 18:39:19

标签: python regex

n='Sumit,raj. ramesh is good. calm down'
re.split(r'[a-z0-9]\.',n)

对于上面的字符串n和正则表达式,它给出了以下结果。

['Sumit,ra', ' ramesh is goo', ' calm down']

我不知道为什么要截断这个单词的最后一个字符。我想在点上分割句子,但我想在点之前找到全文,这是我无法得到的。请帮忙。

1 个答案:

答案 0 :(得分:3)

您在上拆分的文字未包含在输出中。您想要分割 .

re.split(r'(?<=[a-z0-9])\.' ,n)

如果前面有小写字母或数字,则使用正面后瞻断言((?<=...)仅匹配.,但最重要的是在匹配中不包括这些字母或数字本身。

演示:

>>> import re
>>> n = 'Sumit,raj. ramesh is good. calm down'
>>> re.split(r'(?<=[a-z0-9])\.' ,n)
['Sumit,raj', ' ramesh is good', ' calm down']