我有一个看起来像这样的字符串:
“主页Cookie查看过的项目“ yada_yada.mov”(22.4338.241384081)”
我需要从字符串中解析出最后一组数字,即最后一个句点和结束括号之间的数字(在本例中为241384081),请记住,可能会有一组或多组括号文件名“ yada_yada.mov”。
到目前为止,我有这个:
mo = re.match('.*([0-9])\)$', data1)
...其中data1是字符串。但这只是返回最后一位。
有什么帮助吗?
谢谢!
答案 0 :(得分:1)
您可以使用
(\d[\d.]*)\)$
请参见regex demo。
详细信息
(\d[\d.]*)
-捕获组1:捕获一个数字,然后捕获任意数量的.
和数字,次数为0或更多\)
-一个)
$
-字符串的结尾。请参见Python demo:
import re
s='Home Cookie viewed item "yada_yada.mov" (22.4338.241384081)'
m = re.search(r'(\d[\d.]*)\)$', s)
if m:
print(m.group(1)) # => 22.4338.241384081
# print(m.group(1).replace(".", "")) # => 224338241384081
替代模式:
(\d+(?:\.\d+)*)\)$ # To match digits and then 0 or more repetitions of . + digits
(\d+(?:\.\d+)*)\)\s*$ # To allow any 0+ trailing whitespaces