如何从Python正则表达式中获取匹配的字符?

时间:2011-06-26 23:49:01

标签: python regex

我正在尝试匹配Python中data:\w+/\w+;\w+,\w+的数据URI模式。如何保留每个匹配以便稍后使用(基本上,每个w+件)?

4 个答案:

答案 0 :(得分:7)

将它们分组,即data:(\w+)/(\w+);(\w+),(\w+)。然后,您可以使用m.group(x)m.groups()(其中m是匹配对象)来获取它们(请注意,组0是整个匹配的字符串)。

答案 1 :(得分:2)

你需要小组。来自Python Documentation

  

(...)       匹配括号内的正则表达式,并指示组的开始和结束;在执行匹配后,可以检索组的内容,并且可以在字符串中稍后使用\ number特殊序列进行匹配,如下所述。要匹配文字'('或')',请使用(或)或将它们包含在字符类中:[(] [)]。

答案 2 :(得分:0)

我相信它会是r'data:(\w+)/(\w+);(\w+),(\w+)'或其他东西。

答案 3 :(得分:0)

将它们分组。我不懂Python,但每种语言都是一样的。 您可以使用括号在RegEx中对事物进行分组。

data:(\w+)/(\w+);(\w+),(\w+)

然后,使用Python RegExp函数,获取匹配的组。