python基础知识---正则

一、python正则简介

python的re模块,让python能够支持扩展正则

扩展正则的字符集("."  "[abc]"   "(abc)"  "a|b")、锚点("$"  "^"  "\<\>")、修饰字符("*"  "?"  "+"  "{}")  这里不做介绍

二、re模块中的函数,主要是三种匹配(match、search、findall)、一种替换(sub)、一种分割(split)

1,match(apttern,string,flags=0)

flag:标志位,用来控制match的匹配方式,一般都没有指定,默认0

match用来从起始位置开始根据模型去字符串中匹配指定内容,如果没有匹配到内容,会返回None  如果匹配到内容  会返回一个MatchObject的对象

使用group()和groups()方法访问匹配的内容

import re
string="1234erqwe123"

obj=re.match(‘\d+‘,string)      #返回一个对象
print(obj)
print(obj.group())     #使用group()方法访问匹配的内容

#<_sre.SRE_Match object; span=(0, 4), match=‘1234‘>
#1234
import re
string="@$1234erqwe123"
obj1=re.match(‘([^0-9]+)(\d+)‘,string)

print(obj1.group())       #group()返回一个字符串
print(obj1.groups())     #groups()返回一个元组

#@$1234
#(‘@$‘, ‘1234‘)

2,search(pattern, string, flags=0)

search和match就一处区别,可以匹配非行首的pattern,也是通过group()和groups()访问匹配到的数据

string="#$1234erqwe123"
obj=re.search(‘(\d+)([^0-9]+)‘,string)

print(obj.group())
print(obj.groups())

#1234erqwe
#(‘1234‘, ‘erqwe‘)

3,findall(pattern,string,flags=0)

match和search只能匹配一个pattern ,如果想匹配字符串中所有符合要求的pattern   ,使用findall()

findall函数返回一个列表

import re
string="#$1234erqwe123"
obj=re.findall(‘\d+‘,string)       #findall函数返回一个列表
print(obj)

#[‘1234‘, ‘123‘]

4,sub(pattern,被替换的部分,string,n=0)

sub用于替换指定的字符串 ,比字符串方法replace功能丰富

import re
string="1234erqwe123adfa123"
new_string=re.sub(‘\d+‘,‘**‘,string)          #返回替换后的副本,原字符串不变
new_string2=re.sub(‘\d+‘,‘**‘,string,2)       #可指定替换前n个pattern,后面的不替换
print(string)
print(new_string)
print(new_string2)

#1234erqwe123adfa123
#**erqwe**adfa**
#**erqwe**adfa123
5,split(pattern,string,n)split用于按指定匹配切割字符串,n表示按前n个pattern分割,如果n为空则表示按所有的pattern切割,返回一个列表split函数比字符串方法split功能丰富
import re
string="1234erqwe123adfa123"
new_string=re.split(‘\d+‘,string,1)       #以前1个pattern为分割符
new_string1=re.split(‘\d+‘,string,2)      #以前2个pattern为分割符
new_string2=re.split(‘(\d+)‘,string,1)    #如果pattern中带有括号,括号里面的内容会返回
new_string3=re.split(‘(\d+)‘,string,2)    #
print(new_string)
print(new_string1)
print(new_string2)
print(new_string3)

#[‘‘, ‘erqwe123adfa123‘]
#[‘‘, ‘erqwe‘, ‘adfa123‘]
#[‘‘, ‘1234‘, ‘erqwe123adfa123‘]
#[‘‘, ‘1234‘, ‘erqwe‘, ‘123‘, ‘adfa123‘]
				
时间: 2024-10-12 17:38:49

python基础知识---正则的相关文章

python基础知识总结

python有段时间没用了,实在是惭愧啊,屌丝今天决定开始对python基础知识重新进行总结,以慰自心. 一.python概念 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. python定位"优雅","简单","明确" 二.python安装 略 三.python基础 1.数据类型 整数: Python可以处理任意大小的整数,当然包括负整数,在程序

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

python基础知识(二)

以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

python基础知识1

Python的基础知识: if-elif-else while-else break continue from..import import.. dir(),当提供一个模块明的时候,返回模块定义的名称列表 列表[],元祖(),字典{} 面向对象编程:self,__init__方法 try-except try-finally python的GUI库:Tkinter   床架一个root,把创建的其它元素放到root里面来 python基础知识1

python 基础知识(一)

                                       python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者.Python是从ABC发展起来,主要受到了Modula-3(另一种相当

Python基础知识梳理 - 第01部分

在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ipython, virtualenv等工具, 最后是vim的设置. 1. 安装python. # wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz Python-2.7.14 # ./configure --prefix=/usr/local/python27

Python基础知识两部曲:二

如果没有看基础部分第一章,请前往Python基础知识两部曲:一 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是--greet_user ()是必须带上的,这里可以可以传递一些参数,也可以不传 以:结尾,且与后面所有的缩进构成了函数体 调用函数直接写上函数名,如果有参数记得带上参数 1. 无参数的函数: def greet_user(): """显示简单的函数体""" print(&qu

Python基础知识梳理 - 第02部分

本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等. Python还提供了若干处理数字对象的工具, 如内置数学函数pow, abs等, 标准库math, random等. 看下数字的简单使用. In [15]: 123 + 234 Out[15]: 357 In [16]: 1.5 * 4 Out[16]: 6.0 In [32]: pow(2,

Python基础知识目录

<table><tr><td bgcolor=PowderBlue><font face="" color=green size=6>Python基础知识目录</font></td></tr></table> <table><tr><td bgcolor=pink><font face="微软雅黑" size = 4 color