4

指定されたテキストブロックで始まり、特定のファイル拡張子(.txtなど)で終わる二重引用符で囲まれたテキストを返す正規表現が必要です。私はurllib2を使用してページのhtmlを取得しています(htmlは非常に単純です)。

基本的に私が次のようなものを持っている場合

<tr>
  <td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td>
  <td><a href="Client-8.txt">new_Client-8.txt</a></td>
  <td align="right">27-Jun-2012 18:02  </td>
</tr>

それは私に戻るべきです

Client-8.txt

戻り値が二重引用符で囲まれている場合。ファイル名が「Client-」で始まり、ファイル拡張子が「.txt」である方法を知っています。

私はr.search(regex、string)で遊んでいます。ここで、入力する文字列はページのhtmlです。しかし、私は正規表現に悪臭を放ちます。

ありがとう!

4

2 に答える 2

4

このタスクには正規表現を使用しないでください。BeautifulSoupを使用してスクリプトを記述し、HTMLを処理して、必要な要素を見つける方がはるかに簡単です。

あなたの場合、属性がで始まり、で終わるすべての<a>要素を検索する必要があります。これにより、すべてのファイルのリストが表示されます。hrefClient-.txt

于 2012-06-29T20:56:27.480 に答える
1
soup = BeautifulSoup('<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="Client-8.txt">new_Client-8.txt</a></td><td align="right">27-Jun-2012 18:02  </td>')
x=soup.findAll('a')
for i in x:
    if '.txt' in i['href']:
        print(i['href'])
于 2012-06-29T21:05:06.760 に答える