Python:获取正则表达式匹配的文本

Ram*_*hum 7 python regex

我在Python中有一个正则表达式匹配对象.我想得到它匹配的文字.如果模式是'1.3',并且搜索字符串是'abc123xyz',我想得到'123'.我怎样才能做到这一点?

我知道我可以使用match.string[match.start():match.end()],但我觉得这样的基本查询非常麻烦(在某些情况下是浪费).

有更简单的方法吗?

Mar*_*der 7

您可以简单地使用匹配对象的group功能,例如:

match = re.search(r"1.3", "abc123xyz")
if match:
    doSomethingWith(match.group(0))
Run Code Online (Sandbox Code Playgroud)

得到整场比赛.编辑:正如thg435指出的那样,你也可以省略0并且只是打电话match.group().

Addtional注意:如果你的模式包含括号,你甚至可以得到这些子匹配,通过传递1,2等方面group().