正则表达式 - python 的re正则编写问题,如果获得含有中文的目标字符串
PHP中文网
PHP中文网 2017-04-17 17:47:19
0
4
564

描述:我有一个字符串a,我想获得目标字符串为[锡山区,南长区 ,惠山区,崇安区 ,北塘区 ,滨湖区 ,宜兴市 ,江阴市 ],我想使用正则的分组实现,但是却出错了?请问问题在哪里,感谢大家。
这是我的正则,我是刚学习的,出错了。
re.sub((^[dc='].>$)(.)(</span>$),r2,a)
原始字符串为:

<a title='锡山区房产' href='http://wx.cityhouse.cn/district/XS/'>锡山区</a>
<a title='南长区房产' href='http://wx.cityhouse.cn/district/NC/'>南长区</a>
<a title='惠山区房产' href='http://wx.cityhouse.cn/district/HS/'>惠山区</a>
<a title='崇安区房产' href='http://wx.cityhouse.cn/district/CA/'>崇安区</a>
<a title='北塘区房产' href='http://wx.cityhouse.cn/district/BT/'>北塘区</a>
<a title='滨湖区房产' href='http://wx.cityhouse.cn/district/BH/'>滨湖区</a>
<a title='宜兴市房产' href='http://yx.wx.cityhouse.cn'>宜兴市</a>
<a title='江阴市房产' href='http://jy.wx.cityhouse.cn'>江阴市</a>

补充说明:我是使用BeautifulSoup来获取的,网页有很多个<a节点,没有直接用get_text()是 有些<a节点的字符串不是我想要的

PHP中文网
PHP中文网

认证高级PHP讲师

Antworte allen(4)
迷茫
for i in re.findall('<a .+>(.+)</a>', a):
    print i
巴扎黑

用pyquery吧,和jquery语法一样,你会感觉很酸爽

黄舟

for a in soup.find_all('a'):

print(a.string)
伊谢尔伦

小太武的可行,
在上面的基础上少改一下,

for i in re.findall(r'<a .+>(.*?)</a>',string):
    print i[0]
    #更加万能

楼主为何不学xpath,这种格式的网页会很轻松,

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage