1.正则表达式常见的具体应用场景如下:
-
手机号校验;
-
邮箱校验;
-
身份证校验;
-
网页标签匹配;
-
车牌号校验;
-
中文校验;
2.re模块
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。
1>元字符,量词,贪婪与非贪婪匹配,分组与或的使用
元字符:
字符 | 功能 |
---|---|
. | 匹配任意1个字符(除了\n) |
[ ] | 匹配[ ]中列举的字符 |
\d | 匹配数字,即0-9 |
\D | 匹配非数字,即不是数字 |
\s | 匹配空白,即 空格 |
\S | 匹配非空白 |
\w | 匹配单词字符,即a-z、A-Z、0-9、_ |
\W | 匹配非单词字符 |
#案例演示01:(. 匹配任意1个字符(除了\n))
# . 匹配任意1个字符(除了\n)
import re
ret = re.match("t.o", "t\no")
if ret:
print(ret.group())
else:
print("匹配失败")
# . 匹配任意1个字符(除了\n)
import re
ret = re.match("t.o", "two")
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示02:([ ] 匹配[ ]中列举的字符 ,只匹配任意一个字符)
# [ ] 匹配[ ]中列举的字符 ,只匹配任意一个字符
import re
ret = re.match("t[1wqs]o", "two") # 将w换成9,查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示03:(\d 匹配数字,即0-9)
# \d 匹配数字,即0-9
import re
ret = re.match("t\do", "t6o") # 将6换成a,查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示04:(\D 匹配非数字,即不是数字)
# \D 匹配非数字,即不是数字
import re
ret = re.match("t\Do", "two") # 将w换成7,查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示05:(\s 匹配空白,即 空格)
# \s 匹配空白,即 空格
import re
ret = re.match("t\so", "t o") # 将空格换成z,查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示06:(\S 匹配非空白)
# \S 匹配非空白
import re
ret = re.match("t\So", "two") # 将w替换成空格,查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示07:(\w 匹配单词字符,即a-z、A-Z、0-9、_)
# \w 匹配单词字符,即a-z、A-Z、0-9、_
import re
ret = re.match("t\wo", "t_o") # 将_分别替换成a、A、z、Z,分别查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
#案例演示08:(\W 匹配非单词字符)
# \W 匹配非单词字符
import re
ret = re.match("t\Wo", "t%o") # 将%分别替换成a、A、#、&,分别查看匹配结果
if ret:
print(ret.group())
else:
print("匹配失败")
量词:
字符 | 功能 |
---|