在重新编写的脚本

时间:2017-06-22 10:58:25

标签: regex python-3.x

所以,这个问题并不是真正的错误(sre_constants.error:look-behind需要固定宽度模式),我知道这个错误意味着什么。我的问题是这个功能:

import regex as re

def _sent_split(phrase):
    abbreviations = r'Mr|Dr|Sr|Mrs|Sra|Dra|Av|D|Da|Gob|Gral|Ing|Prof|Profa|Srta'
    sentence_endings = r'\.|!|\?|—|»|«'
    sentence_starters = r'\p{Lu}|¿|¡|-|»|"| |*|—|«'

    splitPattern = r'(?<!\([^\)]*?(?=(?<=(?<!'+abbreviations+')['+sentence_endings+']"?)[ |\n](?=['+sentence_starters+'])[^\(\)]*\)))(?<=(?<!'+abbreviations+')['+sentence_endings+']"?)[ |\n](?=['+sentence_starters+'])'
    splitPattern2 = r'(?<=:"?)[ |\n]'

    pattern = re.compile(splitPattern+"|"+splitPattern2)

    phraseList = re.split(pattern, phrase)

    return phraseList

正在抛出该错误。我正在重新编写一个更大的脚本,这是它的一部分。问题是,我在那个功能中没有改变任何东西。参数短语仍然是相同的输入(文本的一部分作为字符串)。但突然间它不再需要编译并抛出该错误。

你知道可能出现什么问题吗?如果我独立测试这个功能,它也可以工作,它只是在脚本中工作,这是非常奇怪的,因为它与其他人独立。

提前感谢您的帮助!

0 个答案:

没有答案