文本操作基础知识:正则表达式
- 软件开发
- 2025-09-02 10:00:01

目录
摘要:
一、语法
二、匹配模式pattern
1、普通字符[ ]
2、限定字符
3、定位字符
4、运算字符( )
三、修饰符flags
四、各语言的正则使用
1、Python的re
参考资料:
摘要:
常用匹配:[A-C]、[^A-C]、\w、\d、\n、\r、\t、*、+、?、{n,m}。
python的re.findall函数
一、语法/pattern/flags
pattern:表示匹配模式,需要匹配的具体内容。
flags:表示修饰符。
二、匹配模式pattern 1、普通字符[ ]匹配多个字符条件要用[],单个字符无需使用中括号括起来。例:/A/g和/[AB]/g。二者的区别在于前者只匹配单个字符A,而后者匹配单个字符A或B。
符合解释[ABC]匹配单个字符[A-C]匹配A-C单个字符[^ABC]匹配除了ABC外的单个字符\S匹配非空字符,不包括回车换行\s匹配空字符,包括回车换行\w匹配字母、、数字、下划线等同于 [A-Za-z0-9_]\d匹配单个数字等同于[0-9]\t匹配一个制表符\v匹配一个垂直制表符 2、限定字符普通字符只能匹配单个,限定字符可以匹配多个连起来的,主要用于匹配字符串。
符号解释.匹配除了换行符外的单个字符等同于[^\n\r]*匹配子表达式子零次或多次,例:O*+匹配子表达式一次或多次,例:O+?匹配子表达式零次或一次,例:O?\转义字符,用于匹配特殊字符。|表示或{n}匹配固定n个字符,例:O{2}匹配food。
{n,}至少匹配n次。{n,m}至少匹配n次,至多匹配m次。 3、定位字符^匹配字符段落的开头,$匹配段落的结尾。
符号
解释
^
匹配字符串开头
$
匹配字符串结尾
\b
匹配单词边界
\B
匹配非单词边界
案例:匹配字符串开头
字符段开头会有一个非可见的字符,匹配的是这个,^he则是匹配he开头的字符段(这种状态要加上多行模式。
4、运算字符( )了解即可,以下做个简单的介绍.。
字符解释(?=pattern)匹配 pattern 但不获取匹配结果(不包括匹配模式字符)。(?:pattern)匹配 pattern 但获取匹配结果(包括匹配模式字符)(?!pattern)匹配不在pattern内的字符(不包括匹配模式字符)。(?<=pattern)与(?=pattern)类似,只不过(?=pattern)只能放在查询字符串末尾,(?<=pattern)只能放在查询字符串开头。(?<!pattern)与(?!pattern)类似,只不过(?!pattern)只能放在查询字符串末尾,(?<!pattern)只能放在查询字符串开头。测试:?: 和 ?=
前者进行了结果获取。
后者只是匹配,并没有获取结果。
三、修饰符flags常用的修饰符为//i和//g,可以混合搭配使用。
案例:全局忽略大小写匹配ABC字符串
/ABC/gi 四、各语言的正则使用 1、Python的re要引入re库:import re
import rePython的re库,无需按照正则表达式的语法,也就是两个双斜杠,修饰符模块由于python自定,这里举例常用的两个函数一个是全局搜索re.findall和全局替换re.sub。
python正则修饰符模块
re模块中flags的常用属性: 标志位,用于控制正则表达式的匹配方式。 - re.I:忽略大小写 - re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境 - re.M:多行模式 - re.S:即为 . ,并且包括换行符在内的任意字符(.不包括换行符) - re.U:表示特殊字符集 \w, \W, \b, \B, \s, \S, \d, \D 依赖于 Unicode 字符属性数据库 - re.X:为了增加可读性,忽略空格和 # 后面的注释
案例:re.findall全局搜索返回list
findall:查找整个字符串,返回一个list - 语法:re.findall(pattern, string, flags=0) - 解释:pattern:表示模式字符串,由要匹配的正则表达式转换而来。 string:表示要匹配的字符串。 flags:可选参数,表示标志位,用于控制匹配方式,如是否区分字母大小写
import re str="Sunlan love apple lSunlan" c=re.findall("[A-Z]",str,re.I) print(c)案例:re.sub全局替换返回
sub:查找字符串中所有匹配的数据进行替换 - 语法:re.sub(pattern, repl, string[,count=0][,flags=0]) - 解释:pattern:表示模式字符串,由要匹配的正则表达式转换而来。 repl:表示替换的字符串。 string:表示要匹配的字符串。 count:可选参数,表示模式匹配后替换的最大次数,默认值为0,表示替换所有的匹配值。 flags:可选参数,表示标志位,用于控制匹配方式,如是否区分字母大小写。
import re str="Sunlan love apple lSunlan" str=re.sub(" lSunlan","s",str) print(str) 参考资料:正则表达式 – 简介 | 菜鸟教程
正则表达式在线测试 | 菜鸟工具
文本操作基础知识:正则表达式由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“文本操作基础知识:正则表达式”
上一篇
深入解析FlutterGetX
下一篇
startai产品精修教程