将段落段落为句子

时间:2014-04-17 14:48:31

标签: python regex python-2.7 text-segmentation

我试图将段落分段为句子。我选择了'。','?'和'!'作为分割符号。我试过了:

format = r'((! )|(. )|(? ))'
delimiter = re.compile(format)
s = delimiter.split(line)

但它给了我sre_constants.error: unexpected end of pattern

我也试过

format = [r'(! )',r'(? )',r'(. )']
delimiter = re.compile(r'|'.join(format))

它也会导致错误。

我的方法有什么问题?

1 个答案:

答案 0 :(得分:6)

.(通配符)和?(零或一个,量词)是特殊的正则表达式字符,您需要将它们转义为字面意思使用它们。

但是,在你的情况下,使用一个字符类(这些字符不再特殊)将更加简单:

split(r'[!.?] ')

字符类[...]代表"一个字符,字符类中包含的任何字符"。