简单的代码位:
import re
data = "t3st 11.22.3333.44 bl4h"
r=re.compile(r'([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)')
s=r.search(data)
print (s.group())
这时s.group()=“ 11.22.3333.44”很好。
我想从小数点内的数字组中列出一个列表:
list = ["11","22","3333","44"]
我该如何进行这项工作?谢谢。
答案 0 :(得分:1)
将模式更改为每个号码一组:
import re
data = "t3st 11.22.3333.44 bl4h"
r=re.compile(r'([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)') # individual groups per numbers
s=r.search(data)
print ( list( s.groups()) )
输出:
['11', '22', '3333', '44']
Match.groups()
返回一个元组,请参见Doku
答案 1 :(得分:0)
为什么不简单地在.
上分割输出字符串?
>>> import re
>>> data = "t3st 11.22.3333.44 bl4h"
>>> r=re.compile(r'([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)')
>>> s=r.search(data)
>>> print (s.group().split('.'))
['11', '22', '3333', '44']