Python正则表达式
正则表达式
正则表达式的定义:
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)
和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法
规则的字符串。
正则表达式的作用:(1)通用的字符串表达框架;(2)简洁表达一组字符串的表达式;(3)
针对字符串表达“简洁”和特征的思想工具;(4)判断某字符串的特征归属。
正则表达式常用于文本处理,通常用于这几方面:(1)表达文本类型的特征;(2)同时查找
或替换一组字符串;(3)匹配字符串的全部或部分(用的最广泛)。
正则表达式的使用:编译,将符合正则表达式语法的字符串转化成正则表达式特征。
正则表达式的语法:正则表达式语法是由字符和操作符构成。
常用的操作符:
经典实例:
^[A-Za-z]+$ 由26个字母组成的字符串
^[A-Za-z0-9]+$ 由26个字母和0到9数字组成的字符串
^-?\d+$ 整数形式字符串(复数前面有"-"号)
^[0-9]*[1-9][0-9]*$ 正整数形式字符串
[1-9]\d{5} 中国境内邮政编码,6位
[\u4e00-\u9fa5] 匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7} 国内电话号码(前面3位,后面8位,或者前面4位,后面7位)
re库的使用
re库主要用途为进行字符串匹配,用raw string类型(原生字符串类型,'\'不解释为转义符)来
表达正则表达式(可以使用String类型,但会更繁琐,因为有的操作符有‘\’,因此有转义符时就
有‘\\’)
re.search(pattern,string,flag=0):
pattern是正则表达式的字符串,string是待匹配的字符串,flag是控制标记,常用的三种标记
为re.I,re.M,re.S(功能分别为“忽略正则表达式大小写,“使正则表达式的给定字符每行的开始
部分(字符串有多行时)”,“使正则表达式的'.'操作符能匹配所有字符(除换行外)”)
1 import re 2 match = re.search(r'[1-9]\d{5}','qian100861') 3 if match: 4 print(match.group(0))