[英]Python findall, regex
我有这段文字:
u'times_viewed': 12268,
u'url': u'/photo/79169307/30-seconds-light',
u'user': {u'affection': 63962,
我如何才能取出以下字符串: "/photo/79169307/30-seconds-light"
?
我正在尝试使用正则表达式和findall
:
list = re.findall(‘u‘url‘: u‘/photo/"([^"]*)"‘, text)
但不会走
我认为“不会成功”是指您应该得到语法错误。 这里:
list=re.findall(‘u‘url‘: u‘/photo/"([^"]*)"‘,text)
您使用的是"
当您的意思'
。这会导致语法错误,因为"
关闭了您要传递re.findall
的字符串。 尝试:
list_ = re.findall("u'url': u'/photo/([^']*)'", text)
此外,这不会在photo
之后抓取文字,因此您需要添加更多paren:
list_ = re.findall("u'url': u'(/photo/([^']*))'", text)
现在list_.group(1)
应该包含您的字符串。
最重要的是,您似乎正在处理JSON。 更好的方法可能是:
import json
json.loads(text)
list_ = text['url']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.