python - 在 Python 中使用正则表达式查找首字母缩略词

标签 python regex acronym

我正在尝试在 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]\.)+

enter image description here

例子

实例: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/

相关文章:

php - 将标题大小写应用于字符串中除指定首字母缩略词之外的所有单词

algorithm - ZIP 代表什么(压缩格式,不是邮政编码)

python - 如何在Tensorflow中为张量的所有初始化权重添加一个常量?

python - 如何在 PySpark 中创建空的 Spark DataFrame 并追加数据?

regex - Git 差异 : show ONLY changes not matching a pattern

javascript - 正则表达式拆分重复字符集

javascript - 由 5 位数字组成的正则表达式集,后跟一个逗号(尾随逗号可选)

android - android源码中的msm是什么意思?

python - Jupyter笔记本,从单元格输出多个表达式

python - Pandas 获取 groupby 中同时出现的二进制计数