Python 引用正则表达式变量

Python 引用正则表达式变量,python,regex,string,variables,Python,Regex,String,Variables,我正在使用python循环遍历大量自报告的位置列表,以尝试将它们与它们的家乡状态相匹配。我使用的正则表达式是: /^"[^\s]+,\s*([a-zA-Z]{2})"$/ 基本上,我试图找到一个类似于XXXCITYXXX,[Statecode]的模式,其中Statecode只有两个字母 我的问题是,一旦找到匹配的字符串,我不知道如何引用变化的状态代码。我知道在Perl中我可以使用: $state = uc($1) 但是,我不知道等效的Python语法。有人知道吗?您可以使用re.search

我正在使用python循环遍历大量自报告的位置列表,以尝试将它们与它们的家乡状态相匹配。我使用的正则表达式是:

/^"[^\s]+,\s*([a-zA-Z]{2})"$/
基本上,我试图找到一个类似于
XXXCITYXXX,[Statecode]
的模式,其中Statecode只有两个字母

我的问题是,一旦找到匹配的字符串,我不知道如何引用变化的状态代码。我知道在Perl中我可以使用:

$state = uc($1)

但是,我不知道等效的Python语法。有人知道吗?

您可以使用re.search进行搜索,它返回一个
match
对象(如果正则表达式完全匹配),其中包含一个
groups
属性,该属性包含捕获的组:

import re
match = re.search('^[^\s]+,\s*([a-zA-Z]{2})$', my_string)
if match:
    print match.groups()[0]

看看吧。例如,您希望调用
搜索
方法,并访问返回的match对象上的
。尝试了该方法,但获取typeError“builtin\u function\u或\u method”对象没有属性“getitem”。抱歉,忘记了组是一个方法而不是属性-编辑了我的答案。只是将match.groups[0]切换为match.group()我已经准备好了。谢谢