正则匹配问题。

正则匹配问题。

现有字符串如下:

[Copy to clipboard] [ - ]
CODE:
目录:  <a href="http://bj.8j.com/biz/hotels">酒店住宿</a> >  <a href="http://bj.8j.com/biz/hotels/ccc">温泉度假</a>  <a href="http://bj.8j.com/biz/restaurants">,</a> >  <a href="http://bj.8j.com/biz/restaurants/xiangcaiguan">湘菜馆</a>  <a href="http://bj.8j.com/biz/sports">运动休闲</a> >  <a href="http://bj.8j.com/biz/sports/hotspring">温泉</a> <br />

要用正则表达式将“酒店住宿,温泉度假,餐厅,运动休闲,湘菜馆,温泉“这几个词给匹配出来。由于这几个词不固定,有时候是2个,有时候是3个。请教如何写正则呢?
另外,我记的python好像有这么一个功能:()\1可以重复前面匹配的字符串。不知道怎么用这中方法。
上面的特点是都在<a>之中,可以这样:

[Copy to clipboard] [ - ]
CODE:
>>> a='''<a href="http://bj.8j.com/biz/hotels">酒店住宿</a> >  <a href="http://bj.8j.com/biz/hotels/ccc">温泉度假</a>  <a href="http://bj.8j.com/biz/restaurants">,</a> >  <a href="http://bj.8j.com/biz/restaurants/xiangcaiguan">湘菜馆</a>  & lt;a href="http://bj.8j.com/biz/sports">运动休闲</a> >  <a href="http://bj.8j.com/biz/sports/hotspring">温泉</a> <br />'''
>>> import re
>>> r = re.compile(r"<a.*?>(.*?)</a>")
>>> r.findall(a)
['\xbe\xc6\xb5\xea\xd7\xa1\xcb\xde', '\xce\xc2\xc8\xaa\xb6\xc8\xbc\xd9', '\xa3\xac', '\xcf\xe6\xb2\xcb\xb9\xdd', '\xce\xc2\xc8\xaa']

使用\1可以表示()的内容。\1表示第一个()中的内容。
可以使用python 的 re 模块
import re
p = re.compile(r'<a href=.*>([^<]*)</a>
for x in p.findall(data):
    print x

data 是你上面的html代码
发完才知道已经回答了。。。
恩,\1原来是这样用。
其实那个字符串是从网页中摘出来的,实际中要在整个网页中匹配,所以你说的那个方法,就会匹配出很多无用信息。可能我刚才表达不清楚,呵呵。这个字符串开头都有个目录,我想利用这个特点,将它下边的信息给匹配出来,但不知怎么写。
恩,看来是我描述不清楚。。。
简单点就是先找到目录的位置,然后再开始搜索。
对python的正则还是晕晕的,资料太少了。