我正在尝试在 Python 中使用正则表达式来匹配以句点分隔的首字母缩略词。我有以下代码:
import re
test_string = "U.S.A."
pattern = r'([A-Z]\.)+'
print re.findall(pattern, test_string)
结果是:
['A.']
我很困惑为什么会这样。我知道 + 是贪婪的,但为什么第一次出现 [A-Z]\.被忽略了?
最佳答案
描述
这个正则表达式将:
- 捕获所有首字母缩略词,如
U.S.A.
造句 - 避免在句末匹配大写单词
(?:(?<=\.|\s)[A-Z]\.)+
例子
实例:http://www.rubular.com/r/9bslFxvfzQ
示例文本
This is the U.S.A. we have RADAR.
匹配
U.S.A
关于python - 在 Python 中使用正则表达式查找首字母缩略词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779771/