这是我的代码:
string ='''
{% emoji 'MONEY_BAG' %}<span style="color:#7F6C41;"><a href="{% mobile_url '/inventory/view_item/?category=weapon&inventory_id=%s' inventory_id %}">{{ item.name }}</a>を入手した!</span></span>
'''
a = r'''
{%\s+mobile_url\s+['"]{1}(/inventory/view_item/\?)[^'"]*['"]{1}\s+([^%}]+)\s+%}
'''
def aa(x):
print x.group(1)
print x.group(2)
return ''
string = re.sub(a, aa, string)
print string
它显示:
{% emoji 'MONEY_BAG' %}<span style="color:#7F6C41;"><a href="{% mobile_url '/inventory/view_item/?category=weapon&inventory_id=%s' inventory_id %}">{{ item.name }}</a>を入手した!</span></span>
我想打印x.group(1)和x.group(2)
所以我该怎么做,
感谢
答案 0 :(得分:3)
使用正则表达式从HTML中提取信息是个坏主意。使用HMTL Parser会更容易:http://docs.python.org/library/htmlparser.html
或者,如果您想抓取网页以获取更多信息,可能需要使用scrapy这是一个非常棒的网络抓取工具框架。
答案 1 :(得分:2)
a
中的额外换行符导致正则表达式永不匹配
a = r'''{%\s+mobile_url\s+['"]{1}(/inventory/view_item/\?)[^'"]*['"]{1}\s+([^%}]+)\s+%}'''