繁体   English   中英

python findall,正则表达式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM