Python学习之re模块
2017-08-28 09:47
176 查看
记录re正则表达式几个常用函数~~~
通常进行字符串处理时, 常用到正则表达式完成按自定义的规则对其处理. 通常这些规则称为模式, 因此正则表达式也称为模式表达. 在python中, 一般使用re模块实现python正则表达式功能.
正则表达式最基本组成单元,常见原子类型:
* 普通字符作为原子
普通字符:数字 大小写字母 下划线:
*非打印字符作为原子
非打印字符:一些在字符串中用于格式控制符号, 比如换行符
*通用字符作为原子
通用字符: 一个原子可匹配一类字符.
\w 匹配任意一个字母 数字 或下划线
\W 匹配除字母 数字和下划线的任意一个字符
\d 匹配任意一个十进制数
\D 匹配除十进制以外的任意一个其他字符
\s 匹配任意一个空白字符
\S 匹配除空白字符以外的任意一个其他字符
解释:模式’\w\dpython\w’对python字符进行匹配, 要求: 字符后\w是一个字母 数字或下划线, 字符前\d一位是一个任意的十进制数, 再前一位\w是字符 数字或下划线.
*原子表
使用原子表, 可以定义一组地位平等的原子, 当匹配时会取该原子表的任意一个原子进行匹配.
解释:
pat1: [xyz]表示匹配其中任意一个即可, 45pythony_中匹配python后面的y
pat2: [^xyz]表示匹配除xyz任意其他字符即可
元字符
定义: 正则表达式中一些特殊含义的字符, 比如重复N次前面的字符, 也称为量词
常见元字符及含义:
元字符分为: 任意匹配元字符 边界限制字符 限定符 模式选择符 模式单元
*任意匹配元字符
三个点号匹配除换行符外的任意字符, 匹配python的前一个字符及后面的两个字符
*边界限制元字符
通常进行字符串处理时, 常用到正则表达式完成按自定义的规则对其处理. 通常这些规则称为模式, 因此正则表达式也称为模式表达. 在python中, 一般使用re模块实现python正则表达式功能.
基础知识
原子正则表达式最基本组成单元,常见原子类型:
* 普通字符作为原子
普通字符:数字 大小写字母 下划线:
import re pattern = "yue" # 普通字符作为原子 strs = "shengyueqing" res = re.search(pattern=pattern,string=strs) # 成功返回匹配结果 print res out: <_sre.SRE_Match object at 0x7fd64ad29718>
*非打印字符作为原子
非打印字符:一些在字符串中用于格式控制符号, 比如换行符
import re pattern = "\n" strs = '''test1 test2''' res = re.search(pattern=pattern,string=strs) print res out: <_sre.SRE_Match object at 0x7f4b51449718>
*通用字符作为原子
通用字符: 一个原子可匹配一类字符.
\w 匹配任意一个字母 数字 或下划线
\W 匹配除字母 数字和下划线的任意一个字符
\d 匹配任意一个十进制数
\D 匹配除十进制以外的任意一个其他字符
\s 匹配任意一个空白字符
\S 匹配除空白字符以外的任意一个其他字符
import re pattern = "\w\dpython\w" strs = "abcdfphp345python_py" res = re.search(pattern=pattern,string=strs) print(res.group()) #45python_
解释:模式’\w\dpython\w’对python字符进行匹配, 要求: 字符后\w是一个字母 数字或下划线, 字符前\d一位是一个任意的十进制数, 再前一位\w是字符 数字或下划线.
*原子表
使用原子表, 可以定义一组地位平等的原子, 当匹配时会取该原子表的任意一个原子进行匹配.
pat1 = "\w\dpython[xyz]\w" pat2 = "\w\dpython[^xyz]\w" pat3 = "\w\dpython[xyz]\W" strs = "abcdfphp345pythony_py" res1 = re.search(pattern=pat1,string=strs) res2 = re.search(pattern=pat2,string=strs) res3 = re.search(pattern=pat3,string=strs) print "res1",res1.group() #25pythony_ print "res2" 4000 ,res2.group() #无匹配报异常 print "res3",res3.group() #无匹配报异常
解释:
pat1: [xyz]表示匹配其中任意一个即可, 45pythony_中匹配python后面的y
pat2: [^xyz]表示匹配除xyz任意其他字符即可
元字符
定义: 正则表达式中一些特殊含义的字符, 比如重复N次前面的字符, 也称为量词
常见元字符及含义:
元字符分为: 任意匹配元字符 边界限制字符 限定符 模式选择符 模式单元
*任意匹配元字符
import re strs = "abcdfphp345pythony_py" patt = ".python.." res4 = re.search(pattern=patt,string=strs) print(res4.group()) #5pythony_
三个点号匹配除换行符外的任意字符, 匹配python的前一个字符及后面的两个字符
*边界限制元字符
相关文章推荐
- 【python学习】re模块——正则表达式
- Python模块学习-re和sys模块
- Python学习笔记6-Python中re(正则表达式)模块学习
- python学习笔记正则表达式re模块
- Python学习笔记6-Python中re(正则表达式)模块学习
- python学习之re模块
- Python中re(正则表达式)模块学习
- Python 模块学习:re模块
- python re模块的学习
- Python模块学习 re 正则表达式
- python re 模块学习笔记
- Python3 学习第十四弹: 模块学习六之re模块 + 正则表达式 (转)
- python模块学习之re
- Python中re(正则表达式)模块学习
- Python中re(正则表达式)模块学习
- Python中re(正则表达式)模块学习
- Python的re模块学习---正则表达式
- Python中re(正则表达式)模块学习
- Python中re(正则表达式)模块学习
- Python中re(正则表达式)模块学习