0

正規表現を使用して一部のデータを解析する必要がある大きな HTML ファイルがあります。まずはお店の名前です。ホテル名の形式は次のとおりです。

アップデート:

<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body><div class="businessresult clearfix">
        <div class="leftcol">
            <div id="bizTitle0" class="itemheading">
                <a href="https://courses.ischool.berkeley.edu/biz/capannina-san-francisco" id="bizTitleLink0">1.    Capannina
</a>
            </div>
                <div class="itemcategories">
                    Categories: <a href="https://courses.ischool.berkeley.edu/search?mapsize=small&amp;main_places=CA%3ASan_Francisco%3A%3ASOMA%2CCA%3ASan_Francisco%3A%3APacific_Heights%2CCA%3ASan_Francisco%3A%3AMission%2CCA%3ASan_Francisco%3A%3AHaight-Ashbury&amp;places=CA%3ASan_Francisco%3A%3A%5BSOMA%2CMission%2CMarina%2FCow_Hollow%5D&amp;rpp=40&amp;bbox=-122.471809387%2C37.7384127869%2C-122.368125916%2C37.8203616433&amp;attrs=&amp;sortby=category&amp;show_more_search_options=true&amp;cflt=italian&amp;find_loc=san+francisco%2C+ca" rel="italian" class="category" id="cat_result_0_italian">Italian</a>, <a href="https://courses.ischool.berkeley.edu/search?mapsize=small&amp;main_places=CA%3ASan_Francisco%3A%3ASOMA%2CCA%3ASan_Francisco%3A%3APacific_Heights%2CCA%3ASan_Francisco%3A%3AMission%2CCA%3ASan_Francisco%3A%3AHaight-Ashbury&amp;places=CA%3ASan_Francisco%3A%3A%5BSOMA%2CMission%2CMarina%2FCow_Hollow%5D&amp;rpp=40&amp;bbox=-122.471809387%2C37.7384127869%2C-122.368125916%2C37.8203616433&amp;attrs=&amp;sortby=category&amp;show_more_search_options=true&amp;cflt=seafood&amp;find_loc=san+francisco%2C+ca" rel="seafood" class="category" id="cat_result_0_seafood">Seafood</a>
                </div>
                <div class="itemneighborhoods">
                    Neighborhood: <a href="https://courses.ischool.berkeley.edu/search?find_desc=&amp;mapsize=small&amp;main_places=CA%3ASan_Francisco%3A%3ASOMA%2CCA%3ASan_Francisco%3A%3APacific_Heights%2CCA%3ASan_Francisco%3A%3AMission%2CCA%3ASan_Francisco%3A%3AHaight-Ashbury&amp;places=CA%3ASan_Francisco%3A%3A%5BSOMA%2CMission%2CMarina%2FCow_Hollow%5D&amp;attrs=&amp;sortby=category&amp;cflt=italian&amp;show_more_search_options=true&amp;parent_request_id=9536eaa25db61373&amp;find_loc=Marina%2FCow+Hollow%2C+San+Francisco%2C+CA" title="Marina/Cow Hollow, San Francisco, CA" class="location" id="hood_result_0_0">Marina/Cow Hollow</a>
                </div>
        </div>
        <div class="rightcol">
                <div class="rating"><img src="yelp_listings_files/stars_map.html" alt="4 star rating" title="4 star rating" class="stars_4 " height="325" width="83"></div> <a class="reviews" href="https://courses.ischool.berkeley.edu/biz/capannina-san-francisco">270 reviews</a>


            <address>
                1809 Union St<br>San Francisco, CA 94123<br>
                    </address><div class="phone">
                        (415) 409-8001
                    </div>


        </div>

ホテルは全部で40軒。inの後にスペースが 2 つあると思います.。のすべてのホテルを一覧表示する必要があります1 to 40。私は使用してみました:

re.findall("[./0-9]", string_Name)

数を出力します。番号とすべてのホテル名を取得したい。どうやってやるの?

Blender による回答には、評価とレストランのリストが表示されます。それは問題ありませんが、別の変数に評価とレストラン名が必要です。

4

2 に答える 2

0

html で正規表現を直接実行するべきではありません (最初に HTML パーサーを使用することをお勧めします) が、次の正規表現を試してください。

(\d+)\.\s+([^<]+)

1桁以上

1 つ以上の空白文字

1 つ以上の非<文字

括弧 () があると、キャプチャ グループが作成されます。キャプチャ グループ 1 の内容は番号になります。キャプチャ グループ 2 の内容が名前になります。

于 2013-04-24T05:23:18.757 に答える