欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

正则表达式各个符号的意思(正则表达式特殊符号的含义)

数码知识

孙芳芳优秀作者

原创内容 来源:小居数码网 时间:2024-08-12 19:17:01 阅读() 收藏:35 分享:64

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1207个文字,大小约为5KB,预计阅读时间4分钟。

Python ---- re模块 处理正则表达式

正则表达式特殊符号的含义

re.findall(pattern,string)

功能 : 使用正则表达式匹配字符串

参数 : pattern 正则表达式

string 目标字符串

返回值 : 一个列表 匹配到的所有内容

元字符

1、元字符 abc -->匹配相应的普通字符

ex:In [6]: re.findall("abc","abcdefghabcdhig")

Out[6]: ['abc', 'abc']

2、元字符 : ab|cd ---> 匹配|两边任意一个正则表达式符合的情况

注意:| 两侧不要有没用的空格

3、元字符 : . 匹配规则: 匹配除了换行之外的任意字符

4、元字符: ^ 匹配规则: 匹配一个字符串的开始位置

5、元字符: $ 匹配规则:匹配目标字符串的结束位置

6、元字符 : * 匹配规则: 匹配前面的正则表达式重复0次或多次

7、元字符 : + 匹配规则: 匹配前面的正则表达式重复1次或多次

8、元字符: ? 匹配规则: 匹配前面的正则表达式重复0次或1次

9、元字符:{n} 匹配规则 : 匹配指定的重复次数

10、元字符 : {m,n} 匹配规则 : 匹配前面的正则表达式重复 m次 到 n次

11、元字符: [ ] 匹配规则 : 匹配括号范围内的任意一个字符

12、元字符: [^...] 匹配规则 : 匹配除指定字符集之外的任意字符

13、 d 匹配任意数字字符 D 匹配任意非数字字符

14、 w 匹配任意一个普通字符 W匹配任意非普通字符

15、s 匹配任意空字符 S 匹配任意非空字符

16、A匹配开始位置 Z匹配结束位置 绝对匹配 AabcZ ----> abc (且字符串只是abc)

17、b 匹配单词的边界 B匹配非单词的边界

元字符总结

匹配单个字符:a . d D w W s S [...] [^...]

匹配重复性 : * + ? {N} {m,n}

匹配某个位置 : ^ $ A Z b B

其他 : | ()

re模块

obj = compile(pattern,flags = 0)

功能: 获取正则表达式对象

参数: pattern : 正则表达式

flags: 功能标志位,提供更丰富的匹配

返回值 : 正则表达式对象

re模块和compile对象均有的函数

obj.findall(string,pos,endpos)

功能 : 通过正则表达式匹配字符串

参数 : string 目标字符串

pos 目标字符串的匹配开始位置

endpos 目标字符串的结束位置

返回值 : 匹配到的所有内容以列表返回

* 如果正则表达式有子组则只显示子组匹配内容

obj.split(string)

功能 : 按照正则表达式切割目标字符串

参数 : 目标字符串

返回值 : 切割后的内容

obj.sub(replaceStr,string,max)

功能: 替换正则表达式匹配到的内容

参数: replaceStr 要替换的内容

string 目标字符串

max 最多替换几处

返回值 : 返回替换后的字符串

subn(repl,string,count)

功能: 替换正则表达式匹配到的内容

参数: repl 要替换的内容

string 目标字符串

count 最多替换几处

返回值 : 返回替换后的字符串和实际替换的个数

re.finditer(pattern,string)

功能 : 使用正则表达式匹配目标内容

参数 : 目标字符串

返回值 : 迭代对象 迭代的每个内容为一个match对象

re.match(pattern,string)

功能 : 匹配一个字符串的开头

参数 : 目标字符串

返回值 : 如果匹配到返回 match obj

没有匹配到返回 None

re.search(pattern,string)

功能 : 匹配一个字符串

参数 : 目标字符串

返回值 : 如果匹配到返回 match obj

没有匹配到返回 None

* match 只能匹配字符串的开头位置,search可以匹配任意位置,但是也只能匹配一处

* 通常match对象调用其属性时往往需要try异常处理

fullmatch()

要求目标字符串完全匹配

compile 对象特有属性(re模块没有)

flags : 标志位

pattern : 正则表达式

groupindex : 捕获组形成的字典

groups : 多少个子组

match 对象属性方法

print(match_obj.pos) #目标字符串开头位置

print(match_obj.endpos) # 目标字符串结束位置

print(match_obj.re) # 正则表达式对象

print(match_obj.string) # 目标字符串

print(match_obj.lastgroup) # 最后一组的名字

print(match_obj.lastindex) # 最后一组是第几组

span() 匹配到内容的起止位置

start() 匹配到内容的开始位置

end() 匹配到内容的结束位置

group(n)

功能 : 获取match 对象匹配的内容

参数 : 默认为0 表示获取正则整体的匹配内容

如果传入大于0的正数则表示获取对应子组匹配内容

返回值:返回匹配到的内容

groups()

功能 : 得到所有子组匹配的内容

groupdict()

功能 :得到所有捕获组匹配的内容

上面就是小居数码小编今天给大家介绍的关于(正则表达式特殊符号的含义)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(382)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:正则表达式各个符号的意思(正则表达式特殊符号的含义):http://sjzlt.cn/shuma/155066.html

猜你喜欢