特殊字符:注意\b是匹配单词而非字符串的开始和结束; \w不能匹配汉字

限定符放在匹配符的后边

2 括号分组:

(\d\d\d){2} #有括号匹配6位数字

\d\d\d{2} #没有括号匹配4位数字

3 ?的使用

4 sys.re模块的常用函数表:查找、分隔、替换字符串

re模块的规则选项:大小写 flags参数是附加选项,如re.I表示忽略大小写

5 实战:字符串前边的r表示制定规则,出现意想不到的错误时很可能是漏加r

import re

# ^与$的使用

s = "HELLO WORLD"

print re.findall(r"^hello", s) print re.findall(r"^hello", s,

re.IGNORECASE) print re.findall(r"WORLD$", s)

print re.findall(r"wORld$", s, re.I)

print re.findall(r"\b\w+\b", s)

import re

#sub用法,关于替换

s = "hello world"

print re.sub("hello", "hi",

s) print re.sub("hello", "hi", s[-4:]) print re.sub("world", "China", s[-5:]) #3个sub都是打印s字符串转变后的结果

print s

6 subn、sub和匹配实例

import re

# 特殊字符的使用

s = "你好 WORLD2"

print "匹配字母数字:" + re.sub(r"\w", "hi", s) #一个字符就替换成hi,有6个

print "替换次数:" + str(re.subn(r"\w", "hi", s)[1]) #返回2元祖,第二个索引是替换次数

print "匹配非字母数字的字符:" + re.sub(r"\W", "hi",

s) #一个汉字相当于2个字符

print "替换次数:" + str(re.subn(r"\W", "hi", s)[1])

print "匹配空白字符:" + re.sub(r"\s", "*", s) print "替换次数:" + str(re.subn(r"\s", "*", s)[1])

print "匹配非空白字符:" + re.sub(r"\S", "hi", s)

print "替换次数:" + str(re.subn(r"\S", "hi", s) [1])

print "匹配数字:" + re.sub(r"\d", "2.0", s)

print "替换次数:" + str(re.subn(r"\d", "2.0", s)[1])

print "匹配非数字:" + re.sub(r"\D", "hi", s)

print "替换次数:" + str(re.subn(r"\D", "hi", s)[1])

print "匹配任意字符:" + re.sub(r".", "hi", s) print "替换次数:" + str(re.subn(r".", "hi", s)[1])

7解析电话号码 #返回的是列表!

import re

# 限定符的使用

tel1 = "0791-1234567"

print re.findall(r"\d{3}-\d{8}|\d{4}-\d{7}", tel1)

tel2 = "010-12345678"

print re.findall(r"\d{3}-\d{8}|\d{4}-\d{7}", tel2)

tel3 = "(010)12345678"

print re.findall(r"[\(]?\d{3}[\)-]?\d{8}|[\(]?\d{4}[\)-]?\d{7}",

tel3)

print re.findall(r"a.*?c", "abcabc")

正则表达式的解析费时,如果多次使用findall方式匹配字符串,效率可能比较低,可以使用compile()进行预编译,返回一个pattern对象,用于提高字符串的匹配速度

python模块名限定_python 正则表达式 匹配 ?的使用 限定符 sys.re模块相关推荐

  1. python解析sql语句表名_python正则表达式匹配sql语句中的表名

    [ string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg ...

  2. python 正则表达式匹配的位置_python正则表达式匹配 模式匹配

    Python正则式的基本用法 初学Python,对Python的文字处理能力有很深的印象,除了str对象自带的一些方法外,就是正则表达式这个强大的模块了.但是对于初学者来说,要用好这个功能还是有点难度 ...

  3. python re正则提取ip地址_python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...

  4. python正则匹配ip地址_Python正则表达式匹配ip地址实例

    Python正则表达式匹配ip地址实例 更新时间:2014年10月09日 11:22:51 投稿:shichen2014 这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了 ...

  5. python不包含某字符_python正则表达式匹配不包含某几个字符的字符串方法

    python正则表达式匹配不包含某几个字符的字符串方法 一.匹配目标 文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串 二.尝试过程 1) 自然想到正则表达式r'(ht ...

  6. python正则匹配ip地址_Python正则表达式匹配和提取IP地址

    Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}.){3 ...

  7. python正则匹配字符串中的数字_Python正则表达式匹配字符串中的数字

    1.使用"\d+"匹配全数字 代码: import re zen = "Arizona 479, 501, 870. Carlifornia 209, 213, 650. ...

  8. python正则匹配11个数字_Python正则表达式匹配字符串中的数字

    导读 这篇文章主要介绍了Python正则表达式匹配字符串中的数字,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1.使用"\d+"匹配全数字 ...

  9. python正则匹配中文_python 正则表达式匹配中文-阿里云开发者社区

    python 正则表达式匹配中文 文件编码为 utf-8 设置默认编码为 utf-8 中文需要转换为 \u 形式的编码,也就是  编码, 轮换方法,cmd 下执行 python 进入 python 命 ...

最新文章

  1. C++命名空间 namespace的作用和使用解析
  2. 13.小结Action
  3. python中unique_一个神奇的Python机器学习交互应用开放框架
  4. python哪个方向最缺人赚钱最多?如何在短时间内月入10000以上
  5. 【Docker-Ubuntu】ubuntu16.04 docker 使用记录
  6. LeetCode 3_Longest Substring Without Repeating Characters
  7. 工业发展 安全护航 2021年工业互联网安全发展峰会成功召开
  8. Python计算整数阶乘的几种方法比较
  9. struts2_struts2线程安全吗?
  10. Debian8安装TeamViewer远程协助软件
  11. 翻译:《CSS权威指南》(第3版)-概览和目录部分
  12. 交换机日志删除_锐捷交换机记录日志到flash功能详解 | 19号系统
  13. WIKI系统 ScrewTurn WIKI
  14. 基于软件仿真的PLC系统测试技术
  15. android 如何编译.so,Android源码中编译自己的so库
  16. inter-class 和 intra-class的异同
  17. DMB DSB和ISB区别
  18. 38 全志平台的script.bin在linux内核里的应用分析
  19. 百度地图海量点尺寸和大小
  20. jdbc cancel mysql_当执行Statement的cancel()之后发生了什么?

热门文章

  1. git下载安装、验证、企业实战单机、多人协作
  2. 软件设计师 - 系统测试
  3. vue-datepicker的使用
  4. html广告悬浮窗口,JS实现悬浮移动窗口(悬浮广告)的特效
  5. vue中input多选_vue实现下拉多选vue实现多选下拉框
  6. dedecms右侧悬浮_织梦dedecms网站上添加漂浮广告
  7. C语言 static - C语言零基础入门教程
  8. brew php imagemagick,关于node使用gm和imageMagic在mac的坑
  9. axis2接收json_AXIS2 如何返回JSON数据
  10. c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...