2017-06-18 7 views
-1

私の問題は、各リンクでの署名があるので、私はそれ以下のような非構造化.txtファイルが別のリンクが含まれていることである。テキストファイルから別のリンクを抽出しますか?

Sample of the text file

私が欲しいすべてのリンクを抽出することですそれは、http://で始まりweb.alphorm.com

私は、以下に示す正規表現を使用:

matchObj = re.findall(r'(http:// web.alphorm.com/.*&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA)"}', 
         string) 

をしかし、それは本当に私が欲しいものを私に与えていません。それは、テキストファイルを縮小し、私に検索されたリンクを与えるが、他の望ましくないリンクやテキストと一緒に!

どうしたのですか?あなたの正規表現で

+2

投稿する[mcve] –

+1

本当に 'http://'と 'web.alphorm.com'の間にスペースがありますか? –

+0

あなたの質問を編集し、実際のサンプルデータをテキストファイルから入力してください。 [** _コードおよび/またはエラーのスクリーンショットを抑える_ **](https://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors)を参照してください。 – martineau

答えて

2

.*は、解析エンジンは、最初試合のhttp://web.alphorm.com/、および最後試合の&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA、との間でのすべてを一致する意味、貪欲です。 ?の追加は、できるだけ一致する、一致怠惰を行います

matchObj = re.findall(r'(http://web.alphorm.com/.*?&Key-Pair-Id=APKAJF2PMCJPGKXG2GEA)"}',string) 

はこれを試してみてください。

注:私はそれが誤字だと推測するので、http://web.alphorm.comの間のスペースも削除しました。

関連する問題