| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python 正则表达式相关知识 -> 正文阅读 |
|
[Python知识库]python 正则表达式相关知识 |
1、compile 函数 使用 re.compile 可以将正则表达式的字符串形式编译为一个 Pattern 对象,通过 Pattern 对象提供的一系列方法对文本进行匹配查找,re.compile 单独使用没有任何意义,需要和findall(), search(), match()等搭配使用。 比如:
2、 findall?函数 findall() 可以返回文本中所有与Pattern匹配的字符,返回形式为数组。 findall可以有两种方式使用: re.findall( pattern , text )? #pattern为re.compile编写的pattern对象,text为要进行匹配的文本 pattern.findall(text)? ? ? ? ??#text为要进行匹配的文本 当匹配不到文本时返回空列表。
3、match函数?search函数 match()个人觉得比较废,我基本不会用,他的概念是从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None。(如果开头第一个字符匹配不到,那直接就返回None了。。) search()与match()类似,唯一的区别就是search可以不从位置0开始匹配 re.match和re.search匹配成功之后,都是返回一个Object 对象,提供了以下的方法:
4、sub函数 re.sub()用于替换文本中需要替换掉的词语,返回替换后的文本,sub有两种使用方式: pattern.sub( 替代后的词语 , text ) ?re.sub(pattern, 替代后的词语 , text )
5、split函数 split能够按照所能匹配的字串将字符串进行切分,返回切分后的字符串列表,split也是有两种使用方式: pattern.split(??text ) ?re.split(pattern, text )
表达式字符含义:与多种字符匹配的表达式/d 任意一个数字,0~9之中的任意一个数字 ,/D 匹配所有非数字字符 /w 任意一个字母或数字或下划线,也可以是中文,?/W 匹配所有非数字字符下划线的字符 /s 包括空格、制表符、换页符等空白字符的其中任意一个,/S 匹配所有非空白字符 .? ??小数点可以匹配除了换行符(/n)以外的任意一个字符 匹配多种字符的表达式[aA1@]? ? ?匹配 "a" 或 "A" 或 "1" 或 "@" [^abc]? ? ? ? 匹配 "a","b","c" 之外的任意一个字符 [f-k]? ? ? ? ? ?匹配 "f"~"k" 之间的任意一个字母 [^A-C0-3]? 匹配 "A"~"C","0"~"3" 之外的任意一个字符 修饰匹配次数的符号{n}? ? ?表达式重复n次,比如:"/w{2}" 相当于 "/w/w";"a{5}" 相当于 "aaaaa" {x,y}??表达式至少重复m次,最多重复n次,比如:"ab{1,3}"可以匹配 "ab"或"abb"或"abbb" {m,}? ?表达式至少重复m次,比如:"/w/d{2,}"可以匹配 "a12","_456","M12344"... ?? ? ? ??匹配表达式0次或者1次,相当于 {0,1} '+'? ? ? ?表达式至少出现1次,相当于 {1,}. *? ? ? ? ?表达式不出现或出现任意次,相当于 {0,} 特殊符号^??与字符串开始的地方匹配,不匹配任何字符 $??与字符串结束的地方匹配,不匹配任何字符 /b 匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符, /B 匹配非单词边界 |? ? 表示 "或" 关系,a|b 表示a或者b ()? ?在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰;取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 19:27:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |