簡體   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