学习笔记:Python正则表达式

时间:2021年7月14日
作者:Afollower
分类: 学习记录/Python基础

正则表达式基础

1. 常见函数

1.1 Shell 通配符

from fnmatch import fnmatch, fnmatchcase

1. fnmatch

大小写不敏感[具体跟操作系统相关,windows不敏感]
print(fnmatch('test.txt', '*.Txt')) --> True

2. fnmatchcase

大小写敏感
print(fnmatchcase('test.txt', '*.Txt')) --> False

1.2 字符串匹配和搜索

str1.startwith(str2) : str1是否以str2开始
str1.endwith(str2) : str1是否以str2结束
str1.find(str2) -> int : 获取str2在str1中首次出现的位置,并返回int(没找到返回-1)
str1.replace(old, new [, max]) : 替换old为new(替换次数不超过max)

2. 正则表达式

2.1 正则基础

1.符号说明
  1. ‘^’ 匹配开头
  2. ‘$’ 匹配结尾
  3. […] 匹配…中的一个字符
  4. [^…] 匹配非…中的一个字符
  5. ‘re*’ *匹配 >=0 个(re)表达式
  6. ‘re+’ +匹配 >=1 个表达式
  7. ‘re?’ ?匹配 0/1 个表达式
  8. re{n} 匹配 n 个表达式
  9. re{n, } 匹配 >=n 个表达式
  10. re{n, m} 匹配 n~m 个表达式
  11. ‘|’ 或
2.特殊字符
  1. ‘.’ 匹配除’\n’外任何单个字符
  2. ‘\d’ [0-9]
  3. ‘\D’ [^0-9]
  4. ‘\s’ 匹配任何空白字符,包括空格、制表符、换页符等等。 [ \f\n\r\t\v]
  5. ‘\S’ 匹配任何非空白字符,[^ \f\n\r\t\v]
  6. ‘\w’ [A-Za-z0-9_]
  7. ‘\W’ [^A-Za-z0-9_]
3.在正则表达式中使用"()"
  1. 匹配的对象可以使用group(num: int)指定组号或者groups()获取全部组
  2. 组:
  • 在pattern中用 “()” 区分
  • (?g<name1>pattern) 返回的匹配组名为name1,可以在正则表达式中使用 \g<name1>调用

2.2 函数

pattern - 正则表达式 string - 匹配字符串

1.re.match(pattern, string, flags=0) -> None或者匹配的对象

match 从字符串开始匹配,符合返回结果,不符合返回None

2.re.search(pattern, string, flags=0) -> None或者匹配的对象

search 匹配整个字符串,返回符合的结果,无则返回None

3.检索和替换 re.sub(pattern, repl, string, count=0, flags=0) [subn(…)] -> str
  1. 前三个参数必填: pattern-正则表达式 repl-替换格式 string-原字符串 count-替换次数 [subn -> str, 替换num]
4.预编译 re.compile(pattern[, flags])

预编译正则表达式, 供match 和 search 等函数使用

5.re.findall -> list

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表

6.re.finditer -> Iterator

在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

7.re.split(pattern, string[, maxsplit=0, flags=0]) -> list

按方法分割字符串并返回列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值