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