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

乌维·施奈德

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

\b.*[A-Z]\b

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

维克多·斯特里比尤夫

您可以使用

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

请参阅正则表达式演示详情

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

请参阅Python 演示

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']

使用PyPiregex可以实现完全识别Unicode 的正则表达式(使用 安装在您的终端/控制台中pip install regex):

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

请参阅此 Python 演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python正则表达式可同时分割数字和大写字母

字符串中大写字母的正则表达式

正则表达式模式以匹配所有大写字母后跟冒号的单词

正则表达式仅匹配2个大写字母的字符串

R:正则表达式以strsplit分隔(查找“,”,后跟大写字母)

按新行和大写字母的正则表达式拆分

VS代码正则表达式仅搜索大写字母

查找带有大写字母的字符串,并在正则表达式中以某个单词结尾

使用正则表达式无法在URL中找到大写字母

正则表达式用于替换数字大写字母旁边的字母

使用符号和大写字母在Python正则表达式中拆分

正则表达式,用于查找以大写字母开头并与“-”或“”连接的> = 1个单词的链

由正则表达式首字母大写字母的单词在循环之间拆分

正则表达式-自定义命令+大写字母

大写字母的Java正则表达式

正则表达式-选择以大写字母开头的连续单词

大写字母不匹配重音符号的正则表达式

Python正则表达式,如何搜索以大写字母开头的单词?

如何选择包含以大写字母开头和正则表达式开头的单词的字符串?

正则表达式以大写字母开头,长度小于 70

正则表达式 - 仅在单词开头允许大写字母

正则表达式在大写字母 php 后查找数字

两个或多个连续或非连续大写字母的正则表达式

正则表达式:防止拆分后续大写字母

使用正则表达式查找 Google Docs 中是否有大写字母

正则表达式:删除带有大写字母的希腊语单词

正则表达式语句以大写字母开头的单词之间用下划线替换空格

如何让正则表达式只包含大写字母或数字?

匹配单词第一个大写字母的正则表达式问题