正则表达式

正则表达式

正则表达式之字符组

正则表达式线上测试网址: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

posted @ 2022-07-19 19:35  懒羊羊A  阅读(72)  评论(0)    收藏  举报