Python正则表达式之学习正则表达式三步曲

1、正则表达式的概述

        正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。

2、正则表达式的功能

        1、数据验证(eg:表单验证)

        2、数据检索(eg:网络爬虫数据抓取)

        3、数据隐藏(手机号隐藏)

        4、数据过滤(eg: 敏感词汇过滤)

3、Python 中的re模块三步走

# 第一步 导入re模块

import re



#第二步使用方法进行匹配操作 这里用的 match()方法

result = re.match(pattern正则表达式,string要匹配的字符串,flags = 0)


"""
match() 方法: 专门用于匹配以某些字符或字符串开头的内容(只能匹配开头)
findall() 方法: 可以匹配任意位置
serach()  方法 : 函数用于扫描整个字符串,并返回第一个成功的匹配

"""




#如果匹配成功,使用 group方法来提取数据

result.group()  #没有返回内容,则返回 None

eg:匹配字符 7

import re 

str = "1254697318"

result = re.findall("8",str)

print(result)

4、正则编写三部曲

1、查什么

     代码                                     功能

      .

(英文的点号)

匹配任意一个字符( 除 \n 之外)

      [ ]

(字符簇)

匹配 [ ] 中的任意某个字符 

      [^ ]

( ^ 托字节)

匹配除了指定字符以外的所有字符,即取反的意思
      \d 匹配数字  0-9
匹配非数字
     \s 匹配空白(例如 空格 、table键等)
     \S 匹配非空白
     \w 匹配非特殊字符(eg: a-z、A-Z、0-9、_、汉字)
     \W 匹配特殊字符

2、查多少

            代码 功能
* 匹配前⼀个字符出现0次或者⽆限次,即可有可⽆      (0 到 多)
+ 匹配
     \D
     \s
前⼀个字符出现1次或者⽆限次,即⾄少有1次      ( 1 到 多)
? 匹配前⼀个字符出现1次或者0次,即要么有1次,要么没有  (0 或 1)
{m} 匹配前⼀个字符出现m次  
{m,} 匹配一个字符至少出现 m 次               (m 到 无限次)
{m,n} 匹配前⼀个字符出现从m到n次               (m 到 n 次)

3、从哪查

代码 功能
^ 匹配以某个字符串开头
$ 匹配以某个字符串结尾

4、小栗子 — 匹配手机号

import re

mobile = "12345678964"

result = re.match("^1[3456789]\d{9}$",mobile)

if result :
    print("手机号合理")
else :
    print("手机号不合法,请重新输入!!!")

你可能感兴趣的:(Python,正则表达式,学习)