我正在尝试应用正则表达式从文件中收集数据,但只得到空结果。例如这个小测试(python3.4.3)
import re
a = 'abcde'
r = re.search('a',a)
print(r.groups())
exit()
结果为空元组 (())。显然,我在这里做错了什么,但是呢?
评论: 我实际上想做的是通过查找括号内的值来解释诸如 0.7*sqrt(2) 之类的表达式。
请您参考如下方法:
发生这种情况是因为您的正则表达式中没有组。如果将其替换为:
>>> r = re.search('(a)',a)
你会得到组:
>>> print(r.groups())
('a',)
使用 group 应该适用于第一个选项:
>>> print(re.search('a',a).group())
a
