我想在文本中找到所谓的缩略语,这是为它定义正则表达式的正确方法吗? 我的想法是,如果某些东西以资本开头,以大写字母结尾,那么它就是首字母缩略词。这是对的吗?
import re
test_string = "Department of Something is called DOS,
or DoS, or (DiS) or D.O.S. in United State of America, U.S.A./ USA"
pattern3=r'([A-Z][a-zA-Z]*[A-Z]|(?:[A-Z]\.)+)'
print re.findall(pattern3, test_string)
和输出是:
['DOS', 'DoS', 'DiS', 'D.O.S.', 'U.S.A.', 'USA']
答案 0 :(得分:1)
认为你可以使用单词boundary \ b anchor来做你想做的事情
>>> regex = r"\b[A-Z][a-zA-Z\.]*[A-Z]\b\.?"
>>> re.findall(regex, "AbIA AoP U.S.A.")
['AbIA', 'AoP', 'U.S.A.']