python基础五——正则表达式

正则表达式

一、查询功能 

import re

s=‘besttest is good is is‘
print(re.match(r‘be‘,s).group())   #字符串前加r代表原字符串
# match方法接收3个参数,第一个是正则表达式,第二个是要查找的字符串,第三个不是必填的,用于控制正则的匹配方式
#是从第一个单词中匹配字符串,如果匹配到返回一个对象,否则,返回None

print(re.search(r‘is‘,s).group())
# search是从整个内容里找,找到就返回第一个,找不到返回None

print(re.findall(r‘is‘,s)) #查找所有的字符串
print(re.sub(r‘is‘,‘is very‘,s)) #替换字符串
print(re.split(‘is‘,s)) #分割字符串

二、数量词

  import re

1 print(re.findall(r‘be*e‘,‘b be beebest is very ok‘))  # ^ 匹配*前面的一个字符出现0次或多次
 2 print(re.findall(r‘st+‘,‘besttest is best s‘))   # +  匹配前一个字符1次或多次,只是+前面的一个字符
 3 print(re.findall(r‘st?‘,‘besttest is best s‘))   # ? 匹配前一个字符0次或1次,只是?前面的一个字符
 4 print(re.findall(r‘t{2}er‘,‘besttest is best  letter‘))   # {n} 匹配前一个字符n次
 5 print(re.findall(r‘t{1,3}‘,‘besttest is best  letterv ttt‘))   # {n,m} 匹配前一个字符n到m次

三、一般字符

 import re

1 print(re.findall(r‘b.‘,‘besttest is best  letter‘))   # . 默认匹配除\n之外的任意一个字符
2 print(re.findall(r‘\?‘,‘bes???ttest is best  letter‘))   # \ 转译符,前面的* + ?这样的字符都有特殊含义了,如果需要找的话,就得用转译了
3 print(re.findall(r‘best|is‘,‘besttest is best‘))   # | 匹配|左或|右的字符
4 print(re.findall(r‘e[ras]‘,‘besttest is best  letter‘))   #[] 字符集合,摩羯字符的集合,匹配的时候是这个集合里面的任意一个就行
5 print(re.findall(r‘e[^ras]‘,‘besttest is best  letter‘))   # 在[]里面如果用^ 的话,意思是不包含这些字符串的

  

四、边界匹配

 import re

1 print(re.findall(r‘^http://‘,‘http://www.baidu.com besttest is good\nbest‘))   #^ 匹配以什么字符开头,多行情况下匹配每一行的开头
2 print(re.findall(r‘^b‘,‘besttest is good\nbest‘,re.M))  #re.M为多行模式
3 print(re.findall(r‘jpge$|png|npg$‘,‘touxiang.png‘))   # $ 匹配以什么字符结尾,多行情况下匹配每一行的结尾
4 print(re.findall(r‘\Ahttp://‘,‘http://www.baidu.com\nhttp://www.souhu.com‘,re.M))# \A 仅以什么字符开头,和^不同的是它不能用多行模式
5 print(re.findall(r‘\.jpge\Z|\.png\Z|\.npg\Z‘,‘touxiang.png\nyi.npg‘,re.M))   # \Z 仅以什么字符结尾,和$不同的是它不能用多行模式

五、预定义字符集合

 import re

1 print(re.findall(r‘\d‘,‘s135434657ehfu243fdsf‘))   # \d 匹配数字0-9  # [A-z]大小写字母 [0-9]数字
2 print(re.findall(r‘\d+‘,‘s135434657ehfu243fdsf‘))
3 print(re.findall(r‘\D‘,‘s135434657ehfu243fdsf‘))   #\D 匹配非数字
4 print(re.findall(r‘\w‘,‘s13543465^*[email protected]你好f‘))   # \w 匹配所有的字母、数字和中文
5 print(re.findall(r‘\W‘,‘s13543465^*[email protected]‘))   # \W 匹配不是字母和数字
6 print(re.findall(‘\s‘,‘we j\tr \noe\rhgorhg‘))   # \s 匹配空白字符:\t、\n、\r、空格
7 print(re.findall(‘\S‘,‘we j\tr \noe\rhgorhg‘))   # \S 匹配非空白字符

六、分组匹配

# 分组匹配
#如匹配IP地址
print(re.findall(r‘\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}‘,‘192.168.160.3‘))
#分组
print(re.search(r‘\d{1,3}(\.\d{1,3}){3}‘,‘192.168.160.3‘).group())
print(re.findall(r‘\d{1,3}(\.\d{1,3}){3}‘,‘192.168.160.3‘))   # findall 里面有分组的话,默认结果就只是分组里面的内容,也就是匹配到小括号里面的内容
print(re.findall(r‘\d{1,3}(?:\.\d{1,3}){3}‘,‘192.168.160.3‘))
时间: 2024-10-19 08:40:10

python基础五——正则表达式的相关文章

Python高手之路【五】python基础之正则表达式

下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print(result) 字符^:匹配以什么开头 import re st = 'python' result = re.findall('^py',st) print(result) 字符$:匹配以什么结尾 import re st = 'python' result = re.findall('n$',s

Python基础之 正则表达式指南

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程. 注意:本文基于Python2.4完成:如果看到不明白的词汇请记得百度谷歌或维基,whatever. 尊重作者的劳动,转载请注明作者及原文地址 >.<html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法

python基础之正则表达式

什么是正则表达式? 正则表达式并不仅仅是python的专利,几乎其他的语言都有正则表达式.就比如bash就有正则表达式命令--grep,个人感觉python中的正则表达式类似于 grep -o 正则表达式是用于处理字符串的强大工具,虽然效率上可能不高,但是功能强大! 正则表达式设定了一系列语法,比如说“ . ”表示任意单个字符,\d表示单个数字……  通过组合这些规则我们可以形成一个pattern(模式)!凡是符合这个pattern的字符串,我们就认为它被匹配了,否则,则代表这个字符串是不合法的

Python基础 :正则表达式

一.前言 1.1正则表达式简述 正则表达式是一种查找以及字符串替换操作.正则表达式在文本编辑器中广泛使用,比如正则表达式被用于: 1.检查文本中是否含有指定的特征词 2.找出文中匹配特征词的位置 3.从文本中提取信息,比如:字符串的子串 4.修改文本 与文本编辑器相似,几乎所有的高级编程语言都支持正则表达式.在这样的语境下,"文本"也就是一个字符串,可以执行的操作都是类似的.一些编程语言(比如Perl,JavaScript)会检查正则表达式的语法. 1.2 常用的正则匹配工具 在线匹配

Python基础13_正则表达式,re模块,

一. 正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规则)的文本. 正则表达式由普通字符和元字符组成, 普通字符包含大小写字母, 数字. 在匹配普通字符的时候我们直接写就可以了 元字符是正则表达式的灵魂 1. 字符组 字符组用[]括起来, 在[]中的内容会被匹配 [a-zA-Z0-9]    表示所有的数字字母 2. 简单元字符 .   

python基础-RE正则表达式

re 正则表示式 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 一.正则表达式的作用1.给字符串进行模糊匹配,2.对象就是字符串 二.字符匹配(普通字符,元字符)1.普通字符:数字字符和英文字母和自身匹配2.元字符:. ^ $ * + ? {} [] () | \re.方法("规则","匹配的字符串"). 匹配任意

python基础之正则表达式和re模块

正则表达式 就其本质而言,正则表达式(或 re)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 字符匹配(普通字符,元字符): 1 普通字符(完全匹配):大多数字符和字母都会和自身匹配 1 >>> import re 2 >>> res='hello world good morning' 3 >>> re.findall(

Python基础语法 - 正则表达式

概述 正则表达式是一个特殊的字符序列,它常常用于检查是否与某种模式匹配.第八节课主要介绍了从以下几方面介绍了Python正则表达式的用法.(1)re模块的使用(2)字符匹配.数量表示.边界表示(3)正则表达式的高级用法(4)贪婪与非贪婪模式 re模块 (一)match(正则表达式,待匹配字符串)(1)采用从左向右逐项匹配,从起始位置起.(2)用于正则匹配检查,如果"待匹配字符串"能够匹配"正则表达式",则match方法返回匹配对象,否则返回None import r

python基础五——模块

python模块(标准.自定义.第三方模块).python的os.sys和时间模块和__name__. 一.python模块 import 模块的实质就是把要导入模块里面的代码,从上到下执行一遍.找模块的顺序是,首先是当前目录,然后是环境变量里.模块包含:标准模块.自定义模块和第三方模块. 标准模块:python自带的,不需要安装,直接import就能使用: 自定义模块:自己写的python 第三方模块:别人开发好的功能模块,使用需要安装. 安装方式:(1)系统命令,pip install xx