这是re模块与正则的结合

re模块提供的函数

1.match  尝试在字符串的开头应用该模式,返回匹配对象,如果没有找到匹配,则为None。

 import re

 str1 = "Why are you keeping this curiosity door locked?"
res = re.match('\w+y', str1)
print(res)

如果要获取匹配的值则需要调用group()方法:

print(res.group())

2. fullmatch  表示匹配全部字符串,返回匹配对象,如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked?"
res = re.fullmatch('\w+y', str1)
print(res)

import re

str1 = "Why"
res = re.fullmatch('\w+y', str1)
print(res)

3.search  匹配到第一个符合的字符串就会停止,返回匹配对象,如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.search('\w+g', str1)
print(res)
print(res.group())

match  就相当于 re.search('^RE', string) (从头开始去匹配)

4. findall 匹配字符串中所有符合的 ,返回匹配对象(列表),如果没有找到匹配,则返回None。

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.findall('\w+g', str1)
print(res)

5. sub 把匹配到的字符串再用给的字符替换,然后返回新的字符串

sub(pattern, repl, string, count=0, flags=0)
import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.sub('ing', 'ed', str1)
print(res)

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.subn('ing', 'ed', str1)
print(res)

subn则会告诉你替换了多少处(返回的是一个元祖)

6. split  相当于 字符串的split的用法, 返回切割后的列表

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('e', str1)
print(res)

可以把(RE)用括号括起来就可以把用来切割的 字符串也包含进列表中

import re

str1 = "Why are you keeping this curiosity door locked? looking foreword"
res = re.split('(\we)', str1)
print(res)

7. compile 先把正则编译,如果需要很多匹配的字符串都用到同一个正则表达式,则可以用compile先把正则编译好,可以节约时间

8.finditer  可以从匹配到的列表里一个一个的获取到数据,经常与compile连用处理比较多的数据

 

最新文章

  1. js中返回上一页失效的解决办法
  2. Quartz2D复习(二) --- 手势解锁
  3. 假期(codevs 3622)
  4. android之Widget01
  5. Windows Phone 8.1开发:如何从ListView中,获取ScrollViewer对象
  6. Android发送数据到web服务器4种方式
  7. ajax实现下拉列表联动
  8. jquery通过ajax向后台发送(checkbox)数组,并在后台接收,(发送的数据是checkedbox)
  9. 怎么看vue版本
  10. Spark RPC框架源码分析(一)简述
  11. 图像分析函数:skimage.measure中的label、regionprops
  12. 解题(IdenticalTree--拓扑结构相同子树 )
  13. linux上apache并发数与服务器内存关系计算!
  14. Java离线人脸识别SDK 支持arcface 2.0 最新版
  15. vue-router-3-嵌套路由
  16. 记一次Linux系统安装的异常(AMI配置)
  17. 自定义单选框radio样式
  18. ASP.NET 程序优化
  19. 在方法中new关键字的用处
  20. 洛谷 P3102 [USACO14FEB]秘密代码Secret Code 【区间dp】

热门文章

  1. 【转载】sudoers改坏后无法使用sudo的解决办法
  2. various system release [online]
  3. 各种推导式 详情见EVA_J的博客
  4. 【Java.Regex】用正则表达式查找Java文件里的字符串
  5. Faster, more memory efficient and more ordered dictionaries on PyPy
  6. ping 域名
  7. jvm 命令使用调优 通过jstat、jmap对java程序进行性能调优
  8. 005 文档API
  9. mysql 日期总结
  10. Syntax error: "(" unexpected shell里面的报错解决