注意:Python3.X 的print要有括号, Python 2.x的不需要

放上学习时写的例子:

import re

m = re.match(r'(\w+) (\w+)(?P<sign>.*)', 'hello world!')

print("m.string:", m.string)
print("m.re:", m.re)
print("m.pos:", m.pos)
print("m.endpos:", m.endpos)
print("m.lastindex:", m.lastindex)
print("m.lastgroup:", m.lastgroup) print("m.group():", m.group())
print("m.group(1,2):", m.group(1,2)) print("m.groups():", m.groups())
print("m.groupdict():", m.groupdict()) print("m.start(2):", m.start(2)) print("m.span(2):", m.span(2)) print(r"m.expand(r'\g \g\g'):", m.expand(r'\2 \1\3')) #search 不一定从第0位开始匹配 pattern = re.compile(r'world') match = re.search(pattern, 'hello world!')
if match:
print(match.group()) #split 已pattern分割字符串
pattern = re.compile(r'\d+')
print(re.split(pattern, 'one1two2three33four4')) #findall 以列表形式返回全部能匹配的子串 pattern = re.compile(r'\d+')
print(re.findall(pattern, 'one1two2three33four4')) #finditer 返回一个顺序访问每一个匹配结果的迭代器
pattern = re.compile(r'\d+') for m in re.finditer(pattern, 'one1two2three3four4'):
print(m.group()) #替换
pattern = re.compile(r'(\w+) (\w+)')
s = 'i say, hello world!' print(re.sub(pattern, r'\2 \1', s)) def func(m):
return m.group(1).title() + ' ' + m.group(2).title() print(re.sub(pattern, func, s)) #subn 比替换多返回了一个替换次数 print(re.subn(pattern, func, s))

最新文章

  1. C# 本质论 第三章 操作符和控制流
  2. sqlplus 设置
  3. jquery导航二级栏目下拉
  4. 离线树状数组 hihocoder 1391 Countries
  5. C# 之 将string数组转换到int数组并获取最大最小值
  6. c语言中3n+1溢出问题解决
  7. ZOJ 3622 Magic Number(数)
  8. Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
  9. Android布局管理详解(1)—— LinearLayout 线性布局
  10. [SCOI2010]传送带
  11. Eclipse搭建Android环境失败的解决方案
  12. 1. Scala概述
  13. 为什么PPIO要设计支付代理节点?
  14. OvO
  15. jdk环境变量配置注意事项
  16. Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目
  17. 修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
  18. js 调用 手机 相机摄像机麦克风
  19. 深入理解python里面类的对象的赋值
  20. AI单挑Dota 2世界冠军:被电脑虐哭……

热门文章

  1. android命令模式IntentService 远程下载文件
  2. 浅谈C#中show和showDialog的区别
  3. 进程id
  4. IE浏览器报Promise未定义的错误
  5. requests快速入门
  6. POJ3450 Corporate Identity 【后缀数组】
  7. C&amp;C++——标准库
  8. 遇到问题---java---git下载的maven项目web用tomcat发布时不带子项目
  9. JS Cookie相关操作
  10. JavaScript的lazyload延迟加载是如何实现的