正则表达式中的(\ d +)/(\ d +)是什么?

时间:2012-12-24 04:39:50

标签: regex

我知道这是一个正则表达式。我在一段代码中看到了这个特殊的正则表达式。它有什么作用?感谢

2 个答案:

答案 0 :(得分:21)

扩展minitech的回答:

  • (启动捕获组
  • \d一个shorthand character class,与所有数字相匹配;它与[0-9]
  • 相同
  • +一个或多个表达式
  • )结束捕获组
  • /字面正斜杠

以下是一个例子:

>>> import re
>>> exp = re.compile('(\d+)/(\d+)')
>>> foo = re.match(exp,'1234/5678')
>>> foo.groups()
('1234', '5678')

如果删除方括号(),表达式仍会匹配,但您只会捕获一组:

>>> foo = re.match('\d+/(\d+)','1234/5678')
>>> foo.groups()
('5678',)

答案 1 :(得分:10)

它匹配一个或多个数字,后跟斜杠后跟一个或多个数字。

这里的两个“一个或多个数字”也形成了一组,可以提取和使用它们。