gpt4 book ai didi

Python 正则表达式 : Match ALL consecutive capitalized words

转载 作者:行者123 更新时间:2023-11-28 17:44:01 29 4
gpt4 key购买 nike

小问题:

我有一个字符串:

title="Announcing Elasticsearch.js For Node.js And The Browser"

我想找到每个单词正确大写的所有单词对。

因此,预期的输出应该是:

['Announcing Elasticsearch.js', 'Elasticsearch.js For', 'For Node.js', 'Node.js And', 'And The', 'The Browser']

我现在拥有的是:

'[A-Z][a-z]+[\s-][A-Z][a-z.]*'

这给了我输出:

['Announcing Elasticsearch.js', 'For Node.js', 'And The']

如何更改我的正则表达式以提供所需的输出?

最佳答案

你可以使用这个:

#!/usr/bin/python
import re

title="Announcing Elasticsearch.js For Node.js And The Browser TEst"
pattern = r'(?=((?<![A-Za-z.])[A-Z][a-z.]*[\s-][A-Z][a-z.]*))'

print re.findall(pattern, title)

“普通”模式不能匹配重叠的子字符串,所有字符都是一次创建的。但是,先行 (?=..)(即“后跟”)只是检查,什么都不匹配。它可以多次解析字符串。因此,如果您将一个捕获组放在先行中,您可以获得重叠的子字符串。

关于Python 正则表达式 : Match ALL consecutive capitalized words,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644154/

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