python之正则表达式[Python基础]

1,什么是正则表达式?

正则表达式(regular expression)是用来简洁表达一组字符串的表达式。

2,作用是什么?

①表达文本类型的特征。 ②同时查找或替换一组字符串。 ③匹配字符串的全部或部分。

3,常用的操作符:

 

操作符 说明 例子
. 表示任何单个字符  
[] 字符集,对单个字符给出取值范围  [abc]表示a,b,c,[a-z]表示a-z单个字符
[^] 非字符集,对单个字符给出排除范围  [^abc]表示除a,b,c之外的单个字符
* 前一个字符0次或无限次扩展 abc*表示ab,abc,abcc,abccc等等
+ 前一个字符1次或无限次扩展 abc+表示abc,abcc,abccc等等
前一个字符出现或者不出现 abc表示ab,abc
| 左右表达式任意一个 abc|def表示abc,def
{m} 扩展前一个字符m次 ab{4}c表示abbbbc
{m,n} 扩展前一个字符m到n次,含m,n ab{1,2}c表示abc,abbc
^ 匹配字符串开头 ^abc表示abc且在字符串的开头
$ 匹配字符串结尾 abc$表示abc且在字符串的结尾
() 分组标记,内部只能使用 | 操作符 (abc)表示abc,(abc | def)表示abe、def
d 数字,等价于[0,9]  
w 单词字符,等价于[A-Za-z0-9_]  

4,正则表达式的一些语法实例

正则表达式 对应的字符串
P(Y|YT|YTH|YTHO)?N “PN”,”PYN”,”PYTN”,”PYTHN”,”PYTHON”
PYTHON+ “PYTHON”,”PYTHONN”,”PYTHONNN”…….
PY[TH]ON “PYTON”,”PYHON”
PY[^TH]?ON “PYON”,”PYAON”,”PYBON”,”PYCON”……
PY{:3}N “PN”,”PYN”,”PYYN”,”PYYYN”

5,经典的正则表达式实例

^[A-Za-z]+$ 由26个字母组成的字符串
^[A-Za-z0-9]+$ 由26个字母和数字组成的字符串
^-?d+$ 整数形式的字符串
^[0-9]*[1-9][0-9]*$ 正整数形式的字符串
[1-9]d{5} 中国境内的邮政编码
[u4e00-u9fa5] 匹配中文字符
d{3}-d{8}|d{4}-d{7} 国内的电话号码,010-12345678
[1-9]?d 0-99
1d{2} 100-199
2[0-4]d 200-249
25[0-5] 250-255

(([1-9]?d|1d{2}|2[0-4]d|25[0-5]).){3}([1-9]?d|1d{2}|2[0-4]d|25[0-5])

匹配ip地址

6,re库的基本使用

 

re库的主要功能函数
re.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象
re.match() 从一个字符串的开始位置起匹配正则表达式,返回match对象
re.findall() 搜索字符串,以列表类型返回全部能匹配的子串
re.split() 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型
re.finditer() 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象
re.sub() 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串

 

①search(pattern, string, flags=0)

pattern:正则表达式的字符串或原生字符串表示
string:待匹配字符串
flags:正则表达式使用时的控制标记

1 import re
2 match = re.search(r"[1-9]d{5}", "haha 723300")
3 if match:
4     print(match.group())
5 
6 G:Project1venvScriptspython.exe G:/Project1/practice/lianxi2.py
7 723300
8 
9 Process finished with exit code 0
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python之正则表达式