python-3.x - 正则表达式 - 计算单词中大写字母的数量

标签 python-3.x regex

我想查找文本中包含多个大写字母的所有单词。 到目前为止,我仅检查最后一个字符是否为大写

\b.*[A-Z]\b

但如果我的条件是单词中的最后一个字母或总共两个字符是大写的,那就更精确了。

最佳答案

你可以使用

re.findall(r'\b(?:[a-z]*[A-Z]){2}[a-zA-Z]*\b', text)

请参阅regex demo详细信息:

  • \b - 单词边界
  • (?:[a-z]*[A-Z]){2} - 两个由零个或多个小写字母组成的序列,后跟一个大写字母
  • [a-zA-Z]* - 零个或多个 ASCII 字母
  • \b - 单词边界

请参阅Python demo :

import re
text = "A VeRy LoNG SenTence Here"
print(re.findall(r'\b(?:[a-z]*[A-Z]){2}[a-zA-Z]*\b', text))
# => ['VeRy', 'LoNG', 'SenTence']

使用 PyPi regex library 可以实现完全支持 Unicode 的正则表达式(使用 pip install regex 在终端/控制台中安装):

import regex
text = "Да, ЭтО ОченЬ ДЛинное предложение."
print(regex.findall(r'\b(?:\p{Ll}*\p{Lu}){2}\p{L}*\b', text))
# => ['ЭтО', 'ОченЬ', 'ДЛинное']

参见this Python demo .

关于python-3.x - 正则表达式 - 计算单词中大写字母的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69326636/

相关文章:

python - python 中的魔术方法和 __str__ 函数

python - 如何在 python 中移动 2-5 字节长的字节对象中的位?

python - 是否可以在 python 中声明一个具有字符串值和占位符的变量?

php - Preg 匹配 {{statement}} 表达式

c# - 用于验证密码的 JavaScript

Java正则表达式匹配有效的证书格式

python - 在一个函数中调用2个函数

python-3.x - key 错误 : 'axes.color_cycle is not a valid rc parameter (see rcParams.keys() for a list of valid parameters)'

php - 如何使用正则表达式将字符串拆分为二维数组?

html - 如何使用 NSRegularExpression 在 iOS 上使用 Objective-C 将文本字符串中的十六进制 html 实体转换为十进制 html 实体?