正则表达式
正则表达式之字符组
正则表达式线上测试网址:http//tool.chinaz.com/regex/
''' 字符组一次之针对一个数据值'''
[0-9]匹配0到9之间任意一个数字
[A-Z]匹配A到Z之间任意一个字母
[a-z]匹配a到z之间任意一个字母
[0-9A-Za-z]数字字母大小写都可以
正则表达式之特殊符号
. 匹配除换行符以外所有字符
\w 匹配字母或数字或下划线
\d 匹配数字
^ 匹配字符串的开头
$ 匹配字符串的结尾
\W 非数字非字母非下划线
a|b 匹配字符a或b
() 正则表达式分组不影响正则表达式的匹配
[^] 取反匹配除了字符组中字符的所有字符
正则表达式之量词
'''在正则表达式中所有表达式中默认贪婪匹配'''
量词不能单独使用,只影响一个
* 零次或更多次
+ 一次或更多次
? 零次或一次
{n} 重复n次
{n,}最少n次或者更多
{n,m}重复n到m次
正则练习
正则 待匹配字符 说明
海. 海燕海角海东 三条结果海加任意一个字符都可以
^海. 海燕海角海东 一条结果海字开头加一个字符
正则贪婪匹配和非贪婪匹配
待匹配的文本:<script>alert(123)</script>
正则表达式:<.*> # 贪婪匹配
上述正则匹配出来的内容是:<script>alert(123)</script>
正则表达式:<.*?> # 非贪婪匹配
上述正则匹配出来的内容是:<script> </script>
"""
所有的量词默认都是贪婪匹配 但是如果在量词的后面紧跟一个问号
那么就会变成非贪婪匹配
小技巧:以后我们在使用贪婪匹配或者非贪婪匹配的时候一般都是用.*或者.*?
并且结束的标志有上述符号左右两边添加的表达式决定
取消转义
正则表达式中取消斜杠与字母的特殊含义 就是在斜杠前面加斜杠
\\n \n
\\\\n \\n
在python中有更加简便的写法
r'\n'
r'\\n'
正则表达式实战
'''拿来即可无需自定义可以拿绝不动手'''
![image]()