使用正则表达式从字符串中提取首字母缩写词模式

时间:2018-10-05 05:43:05

标签: python regex string

我有这个问题:

list_= ["blabla S.P.A words J.R words. , words","words words !! words s.r.l words. D.T. words","words words I.B.M. words words."]

我想要:

['S.P.A', 'J.R']
['s.r.l', 'D.T.']
['I.B.M.']

我发现了一个令人惊奇的解决方案Finding Acronyms Using Regex In Python,它返回:

['S.P.', 'J.']
['s.r.', 'D.T.']
['I.B.M.']

如何根据自己的情况使用该解决方案?

谢谢

1 个答案:

答案 0 :(得分:3)

您只需要使最后一个期间为可选。还应在第一个字母之前向后寻找空格或字符串的开头,以确保它不属于另一个单词,并在末尾寻找空格或字符串的末尾:

pattern = r'(?i)(?:^|(?<= ))(?:[a-z]\.)+[a-z]\.?(?= |$)'