re模块就本质而言,正则表达式(或RE)是一种小型的、高度专业化的编程语言,(在python中)它内嵌
在Python中,并通过re模块实现,正则表达式模块被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
字符匹配(普通字符、元字符)
#1、正则表达式使用: 用来匹配字符的
普通字符:大多数字符和字母都会和自身匹配
import re
# s = "hello world"
#
# print(s.find("llo"))
# ret = s.replace("ll","xx")
# print(ret)
# print(s.split("w"))
2元字符: . ^ $ * + ? { } [] | () \
#. 任意匹配(除\n外)
ret = re.findall("h...o","hello world")
print(ret)
#^ 从前匹配
ret = re.findall("^h...o","hewdo world hexno")
print(ret)
#$ 从后匹配
ret = re.findall("w..d$","wdifdhello sdwordwold")
print(ret)
#* 重复匹配
ret = re.findall("ab*","hello world i come aback")
print(ret)
#+ 至少出现一次匹配
ret = re.findall("a+b","adsdfbadbababdjfn")
print(ret)
#? [0,1] 最多出现一次匹配
ret = re.findall("a?b","abdsdfbadbababdjfn")
print(ret)
#{ } 贪婪匹配
ret = re.findall("a{1,3}b","adsdfbaaabbabbbdaadbababdjfn") #{1,}等价于{1,+00}
print(ret)
结论:* 等于 {0到正无穷} + 等价于{1到正无穷} ?等价于{0,1}
#[]字符集:取消元字符的特殊功能
ret = re.findall("[w,,]","awdx.,")
print(ret)
#反斜杠后边跟普通字符实现特殊功能
\d 匹配任何十进制数 它相当于类[0-9]
\D 匹配任何非数字字符 它相当于类[^0-9]
\s 匹配任何空白字符 它相当于类 [ \t\n\r\f\v]
\S 匹配任何非空白字符 它相当于类 [^ \t\n\r\f\v]
\w 匹配任何字母数字字符,它相当于类 [1-zA-Z0-9_]
\W 匹配任何非字母数字字符,它相当于类 [^1-zA-Z0-9_] #正则表达式的方法:
  1、findall(): 所有结果都返回到一个列表里
  2、search(): 返回匹配到的一个对象(object),对象可以调用group()返回结果
  3、match(): 只在字符串开始匹配时匹配,也返回匹配到的第一个对象(object),对象可以调用group ret = re.match("assd","asdgfhjdk")
print(ret)
print(ret.group())

最新文章

  1. Logistic 分类器与 softmax分类器
  2. 【转】request和response的页面跳转传参
  3. WPF_View中控件使用单例ViewModel
  4. TAT,我的LCT转双旋了
  5. 【解题报告】[动态规划] RQNOJ - PID273 / 马棚问题
  6. THUSC 2016游记
  7. ANDROID_MARS学习笔记_S04_005_用sing-post向腾讯微博发一条信息
  8. pci转并口卡的安装使用
  9. MySQL字符串类型
  10. ajax-post请求
  11. jQuery(九)、ajax对象操作
  12. mysql写shell小技巧
  13. BZOJ4399魔法少女LJJ——线段树合并+并查集
  14. 两个约束下的dp问题
  15. 关于 sql server 数据库权限乱七八糟的一些东西
  16. 在ubuntu中安装rpm包
  17. Linux包管理及yum
  18. Linux下安装Pcntl PHP扩展
  19. 梳理 Opengl ES 3.0 (三)顶点坐标变换
  20. PHP判断是手机端访问还是PC端访问网站

热门文章

  1. 标准模板库中的队列(queue)
  2. 新闻网大数据实时分析可视化系统项目——6、HBase分布式集群部署与设计
  3. 华为轮值CEO,富士康却坚持独裁,二者究竟有什么不一样?
  4. 五、java基础-关键字this_static_super_abstract_final,finalize()方法finally语句块
  5. Linux CentOS7 VMware克隆、虚拟机之间互连——初学笔记
  6. codeforces 962 F Simple Cycles Edges
  7. windows制作动态链接库和使用二
  8. imple-unpack---攻防世界
  9. 百度小程序-接入自然搜索-API提交Url-c#开发
  10. Day4 - M - Roads in Berland CodeForces - 25C