gpt4 book ai didi

python - 查找 2 个大写字母之前的 n 个以大写字母开头的单词(正则表达式)

转载 作者:行者123 更新时间:2023-12-01 05:36:37 27 4
gpt4 key购买 nike

我已经编写了这个正则表达式,但它没有按预期工作。

((?:[A-Z][\w]+)?),[\s]([A-Z]{2})

以下是示例输入。

Fort Worth, TX
This is Forth Worth, TX
We are looking for someone from Columbus, MS.

我期望 City 和 State 出现在上述带有 python 正则表达式的字符串样本中,但这并没有按预期工作。

print re.findall('((?:[A-Z][\w]+){1,2}),[\s]([A-Z]{2})', input)

我错过了什么?

最佳答案

您可能想在城市名称组中添加空格字符,如下所示:

re.findall('((?:[A-Z][\w]+\s*){1,2}),[\s]([A-Z]{2})', input)

这将匹配一个大写拉丁字母,后跟一个或多个单词字符和零个或多个空白字符,所有这些字符都可能出现一到两次,在组 1 中捕获,后跟一个逗号(一个空白字符)和两个大写拉丁字母,在第 2 组中捕获。

关于python - 查找 2 个大写字母之前的 n 个以大写字母开头的单词(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18834466/

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