day:23 python模块(3)——re模块

一、re正则匹配基本介绍

正则匹配:使用re模块实现

1、什么是正则表达式?

正则表达式是一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来过滤的逻辑。

2、正则表达式是一种文本模式;

3、正则表达式可以帮助我们检查字符是否与某种模式匹配

4、re模块使pyhton语言用有全部的表达式功能

5、re表达式作用?

(1)快速高效查找和分析字符比对自读,也叫模式匹配,比如:查找,比对,匹配,替换,插入,添加,删除等能力。

(2)实现一个编译查看,一般在处理文件时用的多

二、认识正则表达式中的特殊元素?

1、findall基本使用

\d:数字0-9 查找字符串中的数字
print(re.findall("\d",字符串1))

\D:非数字查找字符串中的非数字
print(re.findall("\D",字符串1))

\s:空白字符查找字符串中的空白字符

\n:换行符查找字符串中的换行符

\w 匹配字母数字

\W 匹配非字母数字

^:表示的匹配字符以什么开头

$:表示的匹配字符以什么结尾

*:匹配前面的字符0次或n次 eg:ab (* 能匹配a 匹配ab 匹配abb )
匹配结果:['n', '', '', '', '', 'nnnn', '', '', '', '', '', '', '', '', 'n', '', '', '', '', '', '', 'n', '', '']

+:匹配+前面的字符1次或n次
匹配结果:['n', 'nnnn', 'n', 'n']

?:匹配?前面的字符0次或1次
匹配结果:['n', '', '', '', '', 'n', 'n', 'n', 'n', '', '', '', '', '', '', '', '', 'n', '', '', '', '', '', '', 'n', '', '']

{m}:匹配前一个字符m次

{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
eg: “2{1,3},b” 表示:在b表中匹配1个2、两个2、三个2这三项

2、findall

从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]
[] 显示的是一个空了列场景
格式:
import re
字符串1
字符串2 =re.findall("需要查找的字符",字符串1)
print(字符串2)


3、match

从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败得到一个none值注意:如果规则带了’+’,则匹配1次或者多次,无’+'只匹配一次
格式:
import re
字符串1
字符串2 =re.match("需要查找的第一位的值",字符串1)
print(字符串2)

4、compile(不考虑)

编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]

5、search

从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错
第一种情况:查看的字符存在,返回字符的索引位
第二种情况:查看的字符不存在,返回字符的是none

group 以str 形式返回对象中match元素

span 以tuple形式返回范围

6、re 标识符:flags

flags=标识符

(1)re.I(大写的i) 不区分大小写

import re # 导入re模块
b =re.findall("需要取的字符",字符串1,flags=re.I)
print(f)

7、sub 替换

import re # 导入re模块
import re
a="nvlh\nnnNnn;274%N3a\nnNnnjwb**enf"
b =re.sub("n","M",a)
print(b)

posted @ 2025-03-17 21:19  君庭  阅读(30)  评论(0)    收藏  举报