day19

总结

正则表达式

含义:利用'特殊符号'的组合筛选字符串中的数据

正则表达式是一门独立的语言 专门用来匹配、校验、筛查所需的数据,任何编程语言都可以使用,在

python中如果想用就必须借助于内置模块re

eg:  # 使用正则表达式校验手机号码
    import re
    phone_number = input('please input your phone number : ').strip()
    if re.match('^(13|14|15|18)[0-9]{9}$', phone_number):
        print('是合法的手机号码')
    else:
        print('不是合法的手机号码')

正则表达式之字符组

正则表达式在线测试网站:http://tool.chinaz.com/regex/

[0-9] 匹配0到9之间的任意一个数字(简写)
[a-z] 匹配a到z之间的任意一个小写字母
[A-Z] 匹配A到Z之间的任意一个大写字母

正则表达式之特殊符号

.							# 匹配除换行符以外的任意字符
\w							# 匹配数字、字母、下划线(后续筛选变量名可能用到)
\d							# 匹配任意的数字
\t							# 匹配一个制表符(tab键)
^							# 匹配字符串的开始
										eg:^1  找到在开头的1(1必须在开头)
$               			                # 匹配字符串的结尾
										eg:1$  找到在末尾的1(1必须在末尾)
\W							# 匹配非字母或数字或下划线
\D							# 匹配非数字
a|b							# 匹配a或者b 管道符就是or(或)的意思
()							# 给正则表达式分组 不影响正则匹配(后续再讲)
[]							# 字符组的概念(里面所有的数据都是或的关系)
[^]						  	# 上箭号出现在了中括号的里面意思是取反操作

正则表达式之量词

两字必须跟在表达式后面,怎家匹配的字符数,不可单独使用

量词默认都是贪婪匹配(尽可能多的匹配)如果想修改为非贪婪匹配,只需要在量词的后面加 ? 即可。

贪婪非贪婪通常都是利用左右两边的条件作为筛选依据。

*								# 重复零次或者多次(默认就是多次)
+								# 重复一次或者多次(默认就是多次)
?								# 重复零次或者一次(默认就是一次)
{n}								# 重复n次
{n,}							# 重复最少n次最多多次
{n,m}           				 # 重复n到m次
<.*>		<script>alert(123)<script>       # 1条		贪婪匹配
<.*?>   	<script>alert(123)<script>		 # 2条       非贪婪匹配

取消转义

\n  # \n	 False
\\n  # \n	 True
\\\\n  # \\n	 True
python中也可以加r转义

re模块

# findall函数
res = re.findall('a', 'jason jack jerry')  
print(res)  # ['a', 'a'] 结果是所有符合条件的数据 并且组织成了列表

# search函数
res = re.search('a', 'jason jack jerry')  
print(res)  # 查找到一个符合条件的数据就结束  没有则返回None
print(res.group())  # a  没有则直接报错
# 正则表达式中,group()用来提出分组截获的字符串,()用来分组

# match函数
res = re.match('', 'canyon jack jerry')  
print(res)  # None  从字符串的开头匹配 如果没有则直接返回None 类似于给正则自动加了^ 如果符合也只获取一个就结束
print(res.group())  # j  

# finditer函数
res = re.finditer('a', 'jason jack jerry')  
print(res)  # 结果是一个迭代器对象
print([obj.group() for obj in res])  # ['a', 'a']

# compile函数
obj = re.compile('abc')  # 提前写好需要经常使用的正则
print(re.findall(obj,'123'))  # ['12', '34']

今天学了正则表达式,要记得有点多。。。认真记吧

:

posted @ 2022-03-28 21:38  有梦想的阿九  阅读(35)  评论(0)    收藏  举报