1. 正则表达式概念
正则表达式就是记录文本规则的代码(是匹配或者查找符合某些规则的字符串数据的工具)
2.re模块的使用
# 导入re模块
import re
# 使用match方法进行匹配操作
result = re.match(“正则表达式(即匹配的规则)”, “”要匹配的字符串”)
# 如果上一步匹配到数据的话,可以使用group方法来提取数据(可以用print打印查看)
result.group()
示例
import re
result = re.match("baidu","baidu.com")
print(result.group())
运行结果为: baidu
如果匹配不到的话则会返回一个None。
3.匹配单个字符
tips:
1.若是想让.(点号)匹配所有包括\n(换行),可以这样写:re.match(".*", “要匹配的内容”, re.S),这样.(点号)就可以匹配所有的内容。
2.使用中括号[]时表示匹配任意一个 中括号内的字符,括号内可以写任意个字符,字符之间不需要写逗号。例:[12345678]表示1-8中的任意一个数字。这种连续的数据也可以写成[1-8]。英文也可以,例:[a-h]表示a-h中的任意英文字母。
3.[1-99]括号内的数据都是一位的数据,如果这么写表示的并不是1-99而是1-9中的任一数字或9。即括号内的数据都是或的关系。
4.\s匹配的是空白,即空格,tab(\t)和换行(\n)
5.一般大写的字母用的比较少,即\D,\S和\W。
示例:(使用之前需要先导入re模块)
1.匹配任意一个数字
运算结果:速度与激情2
2.中括号的使用
运算结果:速度与激情1
速度与激情4
速度与激情8
(输入其他数值会报错,但输入以1,4,8开头的多位数字也能匹配成功,这时候需要在匹配规则的最后加一个$,表示以什么结尾,后面会写到)
运算结果:速度与激情1
速度与激情2
运算结果:速度与激情1
速度与激情a
速度与激情h
3.\w的使用
运算结果:速度与激情1
速度与激情w
速度与激情我
速度与激情A
4.\s的使用
运算结果:速度与激情 8
5.(.点号)的使用
运算结果:速度与激情 (空格)
速度与激情a
速度与激情1
6.大写字符使用的比较少,就是小写的非。
4.匹配多个字符
tips:
匹配多个字符的这些符号都要和单个字符一起使用。
示例:(使用之前需要先导入re模块)
1.{}大括号的使用
运算结果:速度与激情5
速度与激情33
运算结果:12345678901
运算结果:021-12345678
2.?的使用
运算结果:021-12345678
02112345678
运算结果:0571-8123456
021-12345678
-
*的使用
运算结果:今天天气不错
(因为.匹配不了\n,可以修改一下如下)
运算结果: -
+号的使用
运算结果:
(当字符串为’'即空时,就会报错)
5. ^和$的使用
案例:
运行结果:
6.当匹配的规则里需要使用到.(点号)但想让他当做普通字符使用的时候就需要转义。转义需要使用\。(例:.就是把点号当做普通字符使用)当\需要转义时也需要是要\,但会导致\很多,因此可以使用原字符r
运算结果: