Py学习  »  Python

如何克服regex标志设置(Python)的问题?

Peter.k • 6 年前 • 1975 次点击  

pattern = re.compile(r'\b(' + '|'.join(re.escape(key) for key in abbreviationsDict().keys()) + r')\W', flags=re.I)
        s = pattern.sub(lambda x: abbreviationsDict()[x.group(1)] + ' ', s)

字典的功能是:

def abbreviationsDict():
    return {'ref.': 'reference', 'ref:': 'reference', 'approx.': 'approximately', 'no.': '', 'nos.': ''}

为了这句话 s = "Variation of Condition on planning application Ref: CB/15/03633/FULL dated 30/11/2015: Condition 9" 我得到一个错误:

   s = pattern.sub(lambda x: abbreviationsDict()[x.group(1)] + ' ', s)

KeyError: 'Ref:'

当我小写的时候 s 变量,但我得到小写的结果。这面旗子我做错什么了,所以不能按需使用?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55578
文章 [ 2 ]  |  最新文章 6 年前