25

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

4

2 回答 2

37

扩展 minitech 的答案:

  • (启动捕获组
  • \d一个速记字符类,匹配所有数字;它与[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',)
于 2012-12-24T04:51:02.433 回答
11

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

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

于 2012-12-24T04:40:45.830 回答