0

以下の 2 つのコードから名前 " Harrisburg" & " "を抽出しようとしています。Gujranwala

<td><a href="/worldclock/city.html?n=97">Harrisburg</a><span id=p217s class=wds> *</span></td>
<td><a href="/worldclock/city.html?n=3551">Gujranwala</a><span id=p204s class=wds></span></td>

現在の正規表現は機能しません。どうすれば修正できますか?

私の正規表現:

(?<=<td><a href="\/worldclock\/city\.html\?n=[0-9]{0, 5}">).*(?=<\/a><span id=p[0-9]{0, 4}s class=wds>( \*)</span><\/td>) 

正規表現はpython用です。ありがとう

4

4 に答える 4

1
import re

city_html = """<td><a href="/worldclock/city.html?n=97">Harrisburg</a><span id=p217s class=wds> *</span></td>
               <td><a href="/worldclock/city.html?n=3551">Gujranwala</a><span id=p204s class=wds></span></td>"""

cities = re.findall(r'(?:city\.html.*?>)(.*?)(?:<)', city_html)
# cities == ['Harrisburg', 'Gujranwala']

city.html ... >この RegEx が行っていることは、次の まで、それ以降のすべてを探して取得すること<です。

于 2013-09-30T22:18:24.153 に答える
0

この正規表現を試してください:

([^>]*)<\s*/a\s*>
于 2013-09-30T22:17:38.243 に答える