前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式常用知识点整理

正则表达式常用知识点整理

作者头像
玛卡bug卡
发布2022-09-21 09:02:48
1950
发布2022-09-21 09:02:48
举报
文章被收录于专栏:Java后端修炼Java后端修炼

正则表达式

0x001导入正则模块

无需使用pip安装,直接 import re

0x002主要方法

01

findall(表达式, 处理字符串, 模式)

特点:

会匹配出所有符合的项

模式:

①re.I 忽略大小写匹配

②re.S如果用.匹配可匹配所有字符包括换行符

①模式

②模式

02

re.sub(匹配表达式,替换的内容,操作的字符串,次数)

特点:

1)替换的内容可以是一个函数也就是可以通过函数来处理匹配到的字符串

2)如果替换内容是函数 ,传入函数的参数必须用:参数.group()取出值才能用

替换内容为字符串时

替换内容为函数时

03

re.search(表达式, 处理字符串)

re.match(表达式, 处理字符串)

特点:

1)只会匹配一次

2)返回值是对象,并不是具体值

使用该方法返回的对象如何取出其中的值?

1)用.group(0)取出匹配到的整个字符串

2)用.group(1)取出匹配的第一个元组数据

3)用.groups()返回匹配的所有元组数据内容 不包括group(0)

4)用返回值.span()可以返回匹配的字符串所在位置

.group(0)方法

.group(1)方法

.groups()方法

0x003表达式及示例

01

[ ] 其中的每个字符为“或“的关系

02

{x} 表示匹配x个;{3,6}表示3-6个

需要注意的是,python默认正则匹配为贪婪模式,也就是{x,y}会优先匹配y个,相对的,非贪婪模式表示为{x,y}?,这时只要匹配到x个就会返回结果。

贪婪模式

非贪婪模式

04

* 匹配0次或者无限多次

05

+ 匹配1次或者无限多次

06

? 匹配0次或者1次

07

^表示从字符串开头匹配

$表示从字符串末尾匹配

这种表达常用在用户名/手机号合法性校验中,以确保字符串为完整匹配。

例如:手机号校验 ^1[3-9][0-9]{9}$

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档