美文网首页
正则表达式

正则表达式

作者: 流逝_a443 | 来源:发表于2018-10-23 23:06 被阅读0次

一正则表达式的语法

正则表达式是用来匹配或者描述字符串的工具
用处:
a.判断输入的字符是否是手机号/邮箱,是否是ip地址
b.提取满足条件的字符串
c.字符串替换
python中通过re模块中相应的方法来支持正则表达式的匹配、查找和替换的功能

image.png

fullmatch(正则表达式,字符串)--->判断正则表达式是否完全匹配
正则表达式:就是一个字符串,字符串中是正则表达式语法, r'正则表达式'
正则表达式中包含两个部分,一个是正则表达式语法对应的字符,二是普通字符

1. .(匹配任意字符)

一个.只匹配一个任意字符


image.png

2. \w(匹配一个字符)

一个\w只匹配一个字符


image.png

3. \s(匹配任意空白字符)

空白字符:空格、制表符( \t)、回车(换行(\n))、等输入空白字符
一个\s只匹配一个空白字符


image.png

4. \d(匹配数字字符)

5. \b(检测边界)

一个\b不会去匹配一个字符,而是单纯的检测\b出现的位置是否是单词边界
单词边界:字符串开始和结尾、空格、换行、标点符号等,可以将两个单词隔开的字符都是带刺边界


image.png

6. ^(检测是否是字符串开头)

image.png

7. $(检测是否是字符串结尾)

image.png

8.\W(匹配非字母,数字下划线)

9. \S(匹配非空白字符)

image.png

10. \D(匹配非数字字符)

image.png

11. \B(检测是否不是边界)

.

12. [](在括号中出现任意一个字符)

[字符集] --->匹配一个字符,这字符是字符集的任意一个字符
[字符1-字符2]--->匹配一个字符,这个字符是Unicode编码值在字符1到字符2中的任意一个字符,字符1的编码值小于字符2
例如:[1-9] --->数字1-9
[a-z] ---->小写字母
[A-Z]----->大写字母
注意:’-‘在括号中,如果放在两个字符之间表示范围


image.png

13. [^字符集]-->(匹配一个不在字符集中的任意一个字符)

image.png

二.正则表达式次数相关符号

1. *(匹配0次或者多次)

字符*--->字符出现0次或者多次

image.png

2. +(匹配一次或者多次)

image.png

3. ?(匹配0次或者一次)

image.png

4.{}(指定次数)

image.png

三.分支和分组

import re

1. | (分支)

条件1 | 条件2 ---->先用条件1去匹配,如果匹配成功就成功,如果条件1失败,用条件2去匹配
注意:如果条件1匹配不成功就不会去匹配条件2


image.png

2.()(分组)

a.组合(将括号的内容作为一个整体操作)

b.捕获--->使用带括号的正则表达式匹配成功后,只获取括号中的内容

c.重复-->再正则表达式中可以通过\数字来重复前面()中匹配到的结果,数字代表前第几个分组

image.png

3.转义字符

正则表达式可以通过在特殊的符号前加\,来让特殊的符号没有意义
. + * $ ^ 等有特殊的功能
注意:在中括号有特殊功能的符号,只代表符号本身
\不管在哪儿都需要转义
-在[]外面没有特殊功能,在[]中要表示-本身,就不要放在两个字符之间
()需要转义


image.png

四.re模块中的函数

import re

1. compile

compile(正则表达式字符串) --> 将正则表达式字符串转换成正则表达式对象


image.png

2.fullmatch和match

fullmatch(正则表达式字符串, 字符串)
--> 用正则表达式去完全匹配字符串(匹配整个字符串),返回匹配对象(SRE_Match)或者None

match(正则表达式字符串, 字符串)
--> 匹配字符串开头,返回匹配对象或者None


image.png

2.group(group = 0) --> 获取匹配结果

group()/group(0) --> 获取正则表达式完全匹配的结果
group(index>0) --> 获取正则表达式中第group个分组匹配到的结果


image.png

3.search

search(正则表达式, 字符串)
--> 查找字符串中满足正则表达式的第一个字符串。返回值是匹配对象或者None


image.png

4.findall

findall(正则表达式, 字符串) --> 获取字符串中满足正则表达式的所有的子串,返回一个列表
注意:如果正在表达式中有分组,取值的时候只取分组中匹配到的结果;
如果有多个分组,会将每个分组匹配到的结果作为一个元祖的元素


image.png

5.finditer

finditer(正则表达式, 字符串)
--> 查找所有满足正则条件的子串,返回值是迭代器,迭代器中的元素是匹配对象


6. split

split(正则表达式,字符串) --> 将字符串按照满足正则表达式条件的子串进行分割


image.png

7.sub

sub(正则表达式,repl,字符串) --> 将字符串中满足正则表达式条件的子串替换成repl。返回替换后的字符串


image.png

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/dfaazftx.html