正则表达式,用来对字符串进行筛选,排查.
不是已经有了字符串的切分,截取,值查索引,索引查值等操作了?为啥还要有正则表达式勒.
因为懒.嫌弃用字符串的方法太麻烦.
给个例子吧!检查一个号码是否符合规格.
re.search(r"^1[3-9]\d{9}$","13525464648")
可能初学者看不明白.主要是告诉大家用正则就是那么简单.若用字符串方法会用很多个if语句进行判断,很麻烦.
好啦,我们来学习它吧.
第一步:用正则表达式需要导入re模块(import re)
第二部:正则表达式有三个找函数
1.re.match()2.re.search() 3.re.findall()他们都有是三个参数.
参数1:正则表达式 参数2:原字符串
参数3:标志flag(可不写),主要记住:re.I 忽略大小写 re.M 多行匹配,是否影响^和$ re.S 使.匹配包括换行符在内的任何字符
第三部:讲讲上述参数1的正则表达式.
上述的正则表达式的符号需要熟悉.基本所有的正则表达式,都是用这些操作符组成.弄清楚这几张图片的知识,再看看下面的例子吧.
qq_number = input("请输入你的qq号码:")#有5-11位的qq qq_regular = r"^[1-9]\d{4,10}$" qq_res = re.search(qq_regular,qq_number) if qq_res == None: print("你输入的qq不符合要求!") else: print("你输入的qq符合要求!") break
birthday_data = input("请输入你的出生日期:") birthday_regular = r"(((1\d{3})|(200\d)|(201[0-7])).(0\d)|(1[0-2]).(([0-2]\d)|(3[01])))" birthday_res = re.search(birthday_regular,birthday_data) if birthday_res == None: print("你输入的出生日期不符合要求") else: print("你输入的出生日期符合要求") break
上述讲解的是正则表达式的编写.下面在为大家介绍介绍,正则表达式操作字符串:
字符串分组:
字符串修改和替换:
分组操作:
编译:
python的正则表达式大致知识点都在这里,希望对大家有帮助.