私はPython3.5で私の正規表現の仕事を作る際にスタックしています。 私は多くのURLを含むリストを持っています。 一部のURLは短いものもあれば、長いものもあります。正規表現で扱える文字の最大長はありますか?
ほとんどの場合、必要なURLを抜粋できますが、このURLだけを抜粋することはできません。ここで
コードです。
urlList=[] # Assume there are many URLs in this list.
interdrone = re.compile(r"http://www.interdrone.com/news/(?:.*)")
hp = re.compile(r"http://www.interdrone.com/$")
restOfThem=re.compile(r'\#|youtube|bzmedia|facebook|twitter|mailto|geoconnexion.com|linkedin|gplus|resources\.sdtimes\.com|precisionagvision')
cleanuplist =[] # Adding URLs I need to this new list.
for i in range(0,len(urlList)):
if restOfThem.findall(ursList[i]):
continue
elif hp.findall(urlList[i]):
continue
elif interdrone.findall(urlList[i]):
cleanuplist.append(urlList[i])
else:
cleanuplist.append(urlList[i])
logmsg("Generated Interdrone clean URL list")
return (cleanuplist)
forbes.com URLは「else:」節に入れる必要がありますので、cleanuplistに追加する必要があります。しかし、そうではありません。ここでも、このリストだけが新しいリストに追加されません。
私は、それから、このことにより、
forbes = re.compile(r"http://www.forbes.com/(?:.*)")
を、具体的フォーブスサイトを選ぶのelif文の次追加しようとしました。
elif forbes.findall(urlList[i]):
cleanuplist.append(urlList[i])
しかし、フォーブスサイトも選択しません。
したがって、私は、正規表現を適用するための文字の最大限の境界があることを疑うことになります(findallはスキップされます)。 私は間違っている可能性があります。上記のforbes.comサイトをどのように抜粋できますか?
目の別のセットは私の多くを助けました...ありがとうございました! –