正则表达式:
正则表达式是记录文本规则的代码
基本用法:
(1)、\ 将下一个字符标记为一个特殊字符
(2)、定界符:
^ 匹配输入字符串的开始位置 例如:^12 表示的是以12开头
$ 匹配输入字符串的结束位置 例如:12$ 表示的是以12结尾
\b 匹配一个单词的边界,就是指单词和空格间的位置
\B 匹配非单词边界
.* 匹配所有的字符
例如:
teacher li verb
er\b 匹配的是teacher里的er
er\B 匹配的是verb里的er
(3)、个数/次数
* 匹配前面的子表达式零次或者多次
+ 匹配前面的子表达式一次或者多次
? 匹配前面的子表达式零次或一次
{n} n是一个非负整数
{n,} n是一个非负整数
{n,m} m和n均为非负整数,其中n<=m
例如:
hello
helo
heo
hel+o 匹配的是hello helo
hel*o 匹配的是hello helo heo
hel?o 匹配的是helo heo
(4)、? |
? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面,匹配模式一个非贪婪的
|
表示的是或者
例如:
hello
helo
heo
(5)、语法糖:
\d 匹配一个数字字符
\D 匹配一个非数字字符
\s 匹配任何空白字符,包括空格,制表符,换页符等
\S 匹配任何非空白字符
\w 匹配字母,数字,下划线
\W 匹配非字母,数字,下划线
hel+?o (此时表示只匹配一个l) 匹配到的是helo
(6)、在python中如何使用正则表达式:
re模块 查找:re.search 或者re.findall
替换: re.sub
import re
test_string='hello'
result=re.search('l',test_string)
print(result)
result2=re.findall('l',test_string)
print(result2)
result3=re.sub('l','m',test_string)
print(result3)