正则表达式相关知识点

上一个题用到了这个知识点,我决定默写一遍,嗯,我应该能默得下来。

一、概述

1、正则表达式是一个特殊的字符序列,它能帮助我们更加简便地检查一个字符串是否与某种模式匹配。正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成。在Python中需要通过正则表达式对字符串进行匹配时,需要用到re模块。

2、正则表达式的应用场景

表单验证、爬虫、文本数据处理

(1)导入re模块

python 复制代码
import re

(2)使用match方法进行匹配操作

python 复制代码
result = re.match()

re.match能够匹配出以xxx开头的字符串,如果起始位置没有匹配成功,就会返回None。

(3)如果上一步匹配到了数据,可以使用group()方法来提取数据

python 复制代码
result.group()

举个例子吧

二、匹配单个字符

. 匹配任意一个字符(处理\n)

\] 匹配\[ \]中列举的字符 \\d 匹配数字,数字范围0\~9 \\D 匹配非数字,即匹配非数字的字符 \\s 匹配空白,即匹配空格,也就是tab键 \\S 匹配非空白 \\w 匹配单词字符,即匹配a\~z,A\~Z,0\~9,_ \\W 匹配非单词字符 *** ** * ** *** #### (1). 匹配任意一个字符(处理\\n) ![](https://i-blog.csdnimg.cn/direct/0f4fae8bee764005af1e7f00cdc02419.png) #### (2)\[ \] 匹配\[ \]中列举的字符 ![](https://i-blog.csdnimg.cn/direct/384b8e8542564153871549d8c88414ef.png) #### (3)\\d 匹配数字,数字范围0\~9 ![](https://i-blog.csdnimg.cn/direct/174f1ad06f98403cbb743ff73e7f585d.png) ![](https://i-blog.csdnimg.cn/direct/ec046ef4d26c4a05b91ab259dea96db5.png) (4)\\w 匹配单词字符,即匹配a\~z,A\~Z,0\~9,_ ![](https://i-blog.csdnimg.cn/direct/12dcbd19a6944b83ad026bcf83a2b21a.png) ## 三、匹配多个字符 \* 匹配前一个字符出现0次或者无数次,即可有可无 + 匹配前一个字符出现1次或者无数次,即至少有1次 ? 匹配前一个字符出现1次或者0次,即要么有1次要么没有 {m} 匹配前一个字符出现m次 {m,n} 匹配前一个字符出现从m次到n次 *** ** * ** *** #### (1)\* 匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无。 `re.match()`:**从字符串开头开始匹配**,会尽可能多地匹配符合规则的字符(贪心匹配),直到无法匹配为止。 ![](https://i-blog.csdnimg.cn/direct/b04cd16880434aef8d1e680a3ad8ed7a.png) #### (2)+:匹配出,变量名是否有效 (从字符串**开头** 开始,先匹配**至少 1 个** "空格 / 字母 / 下划线",紧接着匹配**任意个** "字母 / 数字 / 下划线",直到遇到不符合的字符为止(`re.match` 是贪心匹配)) ![](https://i-blog.csdnimg.cn/direct/ecb91aaae4444629904b651fd8f372e5.png) #### (3)? 匹配数字 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 **从字符串开头开始,匹配 "可选的 1-9 数字" + "必选的 0-9 数字",总共匹配 1 位或 2 位数字** (`[1-9]?` 是 0/1 次,`[0-9]` 是 1 次,合计 1 或 2 位)。 ![](https://i-blog.csdnimg.cn/direct/85cdbbfcd07146d0a766f549b9aae49e.png) 接下来再举几个例子: ![](https://i-blog.csdnimg.cn/direct/f1825b3c28a64251a8975c0d168625d9.png) ok,默写完毕,我只记得这些,继续做题去了。

相关推荐
wayz112 天前
正则表达式:从入门到精通
java·python·正则表达式·编辑器
梨落秋霜2 天前
Python入门篇【正则表达式】
python·mysql·正则表达式
吾诺2 天前
Java进阶,时间与日期,包装类,正则表达式
java·mysql·正则表达式
V1ncent Chen3 天前
SQL大师之路 09 模式匹配(正则表达式)
数据库·sql·mysql·正则表达式·数据分析
程序员杰哥4 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
酱紫学Java5 天前
数据安全基础:正则表达式 (Regex) 从入门到实战
python·正则表达式
「QT(C++)开发工程师」5 天前
C++11 新特性 正则表达式、随机数库、元组
c++·正则表达式
椰猫子5 天前
正则表达式和爬虫
正则表达式
黑眼圈子7 天前
Java正则表达式基础知识
java·开发语言·正则表达式
怪侠_岭南一只猿8 天前
爬虫阶段一实战练习题:爬取豆瓣电影 Top250 复盘
css·经验分享·爬虫·python·学习·正则表达式