gpt4 book ai didi

python - 正则表达式 - 在字符串中查找大写单词

转载 作者:太空狗 更新时间:2023-10-30 02:55:08 24 4
gpt4 key购买 nike

我正在尝试学习如何使用正则表达式,但有一个问题。假设我有字符串

line = 'Cow Apple think Woof`

我想看看 line 是否至少有两个以大写字母开头的单词(当然是这样)。在 Python 中,我尝试执行以下操作

import re
test = re.search(r'(\b[A-Z]([a-z])*\b){2,}',line)
print(bool(test))

但是打印出 False。如果我改为这样做

test = re.search(r'(\b[A-Z]([a-z])*\b)',line)

我发现 print(test.group(1))Cowprint(test.group(2))w,第一个匹配的最后一个字母(test.group中没有其他元素)。

关于查明这个问题和/或如何更好地解决这个问题有什么建议吗?

最佳答案

由于内括号,匹配的最后一个字母在组中。只需放下这些,您就会没事的。

>>> t = re.findall('([A-Z][a-z]+)', line)
>>> t
['Cow', 'Apple', 'Woof']
>>> t = re.findall('([A-Z]([a-z])+)', line)
>>> t
[('Cow', 'w'), ('Apple', 'e'), ('Woof', 'f')]

大写单词的计数当然是len(t)

关于python - 正则表达式 - 在字符串中查找大写单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com