gpt4 book ai didi

python - 正则表达式结果为无

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:03 24 4
gpt4 key购买 nike

我想从下面的文本中提取“Physics”,但我得到的值是“None”。

你能解释一下我的代码中有什么错误吗?

我的正则表达式逻辑如下

--> ^[A-Z] - 用于匹配以大写字母开头的任何单词的第一个字符。

--> [a-z]+ - 用于匹配任何后续的 1 个或多个字符

import re
text = "111 PCM Physics"
print(re.search(r'^[A-Z][a-z]+', text))

最佳答案

如果你想要一个正则表达式模式来找到文本中最后大写的单词,那么使用这个:

[A-Z][a-z]+$

话虽这么说,这里有一个关于 re.match 的警告。因为我们正在调用最终 anchor $,所以 re.match 将尝试匹配整个输入字符串,所以我们应该使用此代码:

text = "111   PCM   Physics"
m = re.match(r'^.*([A-Z][a-z]+)$', text)
print(m.group(1))

但请注意,我们可以很容易地在此处使用 re.split,并在空格处拆分输入文本:

parts = re.split(r'\s+', text)
print(parts[2])

关于python - 正则表达式结果为无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56003003/

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