【问题标题】:python regex extract multiple time in sime listpython regex在sime列表中多次提取
【发布时间】:2015-01-15 11:19:20
【问题描述】:

我写了这个脚本:

def extractURL(data):
    links = re.findall(r'href=[\'"]?([^\'" >]+)', data)
    scrlinks = re.findall(r'scr=[\'"]?([^\'" >]+)', data)
    print '+' + str(len(links))
    logfile = open('links.dat', 'a')
    for link in links:
        logfile.write('%s\n' % (link))
    for link in scrlinks:
        logfile.write('%s\n' % (link)) 
    logfile.close()

是否可以在同一个列表中多次提取正则表达式?一次性使用。

【问题讨论】:

  • 你能举个例子解释一下吗?
  • 得不到你想要的?功能看起来不错..你能详细解释一下吗??
  • 表示你只需要一个变量来存储 re?? 的结果?
  • html = curl.getHTML("soldiweb.net/") html1 = curl.getHTML("mondocompatibile.it/") 链接 = re.findall(r'href=[\'"]?([^\ '" >]+)', html) links += re.findall(r'scr=[\'"]?([^\'" >]+)', html1) 链接中的链接:打印链接跨度>
  • 是的,我想将结果存储在一个变量中

标签: python regex


【解决方案1】:

根据 kingcope “是的,我想将 re – kingcope 的结果存储在一个变量中”

使用列表extend 方法。

>>> l1 = [1,2,3]
>>> l2 = [4,5,6]
>>> l1.extend(l2)
>>> l1
[1, 2, 3, 4, 5, 6]

或者添加两个列表

>>> l1 = [1,2,3]
>>> l2 = [4,5,6]
>>> l3 = l1+l2
>>> l3
[1, 2, 3, 4, 5, 6]

使用 Parser 提取 hrefsrc 的值

content是html文件数据。

>>> import lxml.html as PARSER
>>> root = PARSER.fromstring(content)
>>> root.xpath("//@src")
['#333']
>>> root.xpath("//@href")
['1.com']
>>> 

【讨论】:

  • @kingcope:这对你有用吗??
猜你喜欢
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多