#coding=utf-8
import re
import chardet#检测网页编码形式的模块 p = re.compile(r'\d+')
print p.findall('one1two2three3four4') a="rewfd231321ewq21weqeqw"
p=re.compile(r"(\d+)\D+(\d+)",re.S)
b=p.findall(a)
print b a=u"我爱@糗百,你呢"
print a
b=re.findall (u"(.+?)@糗百(.+)",a,re.S)
print b
for i in b:
for j in i:
print j

结果:

['1', '2', '3', '4']
[('231321', '21')] #findall的结果是[(),()]这种形式的,如果元组只有一个元素,则是["",""]这样子的
我爱@糗百,你呢
[(u'\u6211\u7231', u'\uff0c\u4f60\u5462')]
我爱
,你呢

——————————————————————————————————————————

如果不知道汉字文本的编码,比如说是一段网上爬来的文字(通常情况下就是不知道的)

 import re
import chardet#检测网页编码形式的模块 a="我爱@糗百,你呢"
if isinstance(a, unicode) :
pass
else:
codesty=chardet.detect(a)
a=a.decode(codesty['encoding'])
print a
b=re.findall (u"(.+?)@糗百(.+)",a,re.S)
print b
for i in b:
for j in i:
print j

则利用chardet这个模块得到它的编码,并将其转化为unicode

结果:

我爱@糗百,你呢
[(u'\u6211\u7231', u'\uff0c\u4f60\u5462')]
我爱
,你呢

当然,如果想双击,py在windows下演示,得到的字符串应该再加j.encode("GBK")

注意:处理中文前要将其转化为unicode,不要ascii码直接正则匹配,ascII码如何转Unicode?遇到再说吧~

最新文章

  1. SiteMesh3整合SpringMVC+FreeMarker
  2. crontab 基本用法
  3. Long型整数,缄默溢出
  4. 什么是IP地址、子网掩码、路由和网关
  5. sersync+inotify实时备份数据
  6. windows10 使用gitblit搭建git服务器
  7. 关于CSS的table-layout属性的用法详解
  8. c字符数组
  9. Android中典型的ROOT原理(5)
  10. MySQL之库相关操作
  11. CentOS7用yum快速搭建LAMP平台
  12. 百练6376-二维数组右上左下遍历-2015正式C题
  13. mysql设置外键约束开启-关闭
  14. winform 之控件ListView
  15. C#在Winform程序中显示QQ在线状态
  16. springboot static方法与构造方法加载@VALUE
  17. 如何拷贝一个wchar_t类型的字符串
  18. C# 算法题系列(一) 两数之和、无重复字符的最长子串
  19. if...else if...else和switch语句的注意点
  20. link 和 import 导入外部样式的区别

热门文章

  1. Jane Austen【简·奥斯汀】
  2. Codeforces Round #461 (Div. 2) A. Cloning Toys
  3. [USACO]奶牛抗议(DP+树状数组+离散化)
  4. 在F12 控制台输入,可执行jquery操作
  5. jQuery+Asp.net 实现简单的下拉加载更多功能
  6. 通过js date对象获取各种开始结束日期的示例
  7. 聊聊、Java 命令 第一篇
  8. 文本处理grep命令
  9. Android数据储存之File
  10. 浅谈JavaScript中的函数问题