2016-04-26 16 views
-1

誰かがこの種のシンボルをコード内で使用する理由を説明できますか?それは私のために、そしておそらくそこのすべての初心者のために混乱しているのです。Pythonのこれらのシンボルの意味は何ですか?

私はPythonを勉強しています。具体的な方法で特定のURLからデータを取得する方法だけを使用する例で、Webクローラー(スパイダー)を構築する必要があるレッスンに到達しました。一般的な方法と私はそれらのいくつかを知っているが、私はここに見当もつかない残りは私はこのようなシンボルは^>で何を意味しているシンボル

import sys, thread, Queue, re urllib, urlparse, time, os 
dupcheck = set() 
q=Queue.Queue(100) 
q.put(sys.argv[1]) 
def queueURLs(html,originalink): 
for url in re.findall('"'<a[^>]+href["'](.`[^"']+)["']'"', html,re.I):) 

で見つけたコードの塊であるシンボルの多くで、このコードを見つけましたコード アンカー用のスタンドが で、hrefは何を意味しているのか分かりませんが、これらのシンボルは混乱します。

+0

あなたのキーワードは正規表現です。 – alpert

+1

このコードはコンパイルされません。行方不明または余分な文字が数多くあり、インデントが間違っています。 – duskwuff

答えて

3

それらはregular expressionsであり、おそらくそれらを使ってHTMLを解析するべきではありません。

0

これらのシンボルは、文字列内で使用された場合、Pythonでは特別な意味を持ちません。

しかし、reのような正規表現を処理するモジュールに渡される文字列で使用されていることを意味します。

0

他の答えは、 'symbols'(read:演算子)の使用が正規表現の定義であるという事実をすでに暗示しています。問題の行の場合:セット定義内^文字を使用して正規表現については、

for url in re.findall('"'<a[^>]+href["'](.`[^"']+)["']'"', html,re.I):) 

、すなわち[^abcd]は文字が「A」、「B」、「C」または 'でない場合にのみ、一致を示しますd '。

正規表現とPythonでのその使用の詳細については、https://docs.python.org/2/library/re.htmlを参照してください。

関連する問題