2017-01-12 8 views
1

Imgurリンクから画像IDを削除する必要があります。私はすでにa regex that performs this functionを見つけましたが、私はそれをスクリプトに統合するのが難しいです。ここでPythonでRegexの検索が機能しない

は私の現在のコードは、(img_urlは、元のURLです)です:

... 
print('[bot] Attempting to retrieve image URL for', img_url, 'from imgur...') 
regex = r"(https?:\/\/imgur\.com\/a\/(.*?)(?:\/.*|$))" 
m = re.search(regex, img_url, flags=0) 
print(m) 
... 

目標は、変数(この場合はm)としてImgur IDを返すことです。検索結果が返されないのはなぜですか?

答えて

1

re.searchは、match objectを返します。一致したオブジェクトから検索の結果を取得する必要があります。これを試してください:

... 
print('[bot] Attempting to retrieve image URL for', img_url, 'from imgur...') 
regex = r"(https?:\/\/imgur\.com\/a\/(.*?)(?:\/.*|$))" 
m = re.search(regex, img_url, flags=0) 
print(m.group(0)) 
... 
+0

残念ながら、それは動作しません。 "AttributeError: 'NoneType'オブジェクトに 'group'属性がありません。"使用しているURLが有効なので、何が間違っているのか分かりません。 – user2255592

+0

mがNone型の場合、正規表現は一致しませんでした。それで、あなたがマッチさせようとしている文字列は何ですか? –

+0

私は "http://imgur.com/Jibgyuj"にマッチさせようとしていましたが、/ a /が存在しない限り、正規表現はIDを受け取らないことに気付きました。私の悪い。 – user2255592

関連する問題