Python正则表达式匹配HTML页面编码

yipeiwu_com6年前Python基础

html页面一般都会指定一个编码,如何获取到是处理html页面的第一步,因为错误的编码必然带来后面处理的问题。这里我用python的正则表达式写了个:

import re

a = ["<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />",
   '<meta http-equiv=Content-Type content="text/html;charset=gb2312">',
   '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">',
   '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />',
   '<meta http-equiv="content-type" content="text/html; charset=utf-8" />',
   '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />',
   '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />'
   ]



b = "<meta[ ]+http-equiv=["']?content-type["']?[ ]+content=["']?text/html;[ ]*charset=([0-9-a-zA-Z]+)["']?"


B = re.compile(b, re.IGNORECASE)


for ax in a:
  r1 = B.search(ax)

  if r1:
    print r1.group()
    print r1.group(1), len(r1.group())
  else:
    print 'not match'

相关文章

python中多个装饰器的调用顺序详解

python中多个装饰器的调用顺序详解

前言 一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器。多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则)。 原代码 执行结果...

浅谈python中的getattr函数 hasattr函数

hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的...

在Python程序员面试中被问的最多的10道题

我们在为大家整Python程序员面试试题中,发现了一些被面试官问到的最多的一些问题,以下就是本篇内容: Python是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展,Py...

tensorflow如何批量读取图片

tensorflow如何批量读取图片

本文实例为大家分享了tensorflow如何批量读取图片的具体代码,供大家参考,具体内容如下 代码: import tensorflow as tf import os de...

pycharm双击无响应(打不开问题解决办法)

pycharm双击无响应(打不开问题解决办法)

之前好好的pycharm,突然双击打不开了,怎么办? 亲测有效方案: 第一步:进入如下路径,找到cmd.exe,右键选择“以管理员身份运行”; 第二步:在打开的cmd窗口中,输入net...