??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
Python 正则表达式:split

转载   虎皮喵的喵   2018-11-15   浏览量:19


作用:用正则表达式的字符分割字符串,正则的字符会被抛弃。

本文以 提取URL的地址与参数 为例,介绍re??榈膕plit的用法: 返回值 -> 列表

复杂匹配 = re.compile(正则表达式): 将正则表达式实例化 

            + 

       re.split(要匹配的字符串): 从字符串开头 开始匹配,寻找完整个字符串后,将结果以 列表 返回


简单匹配 =  re.split(正则表达式, 要匹配的原字符串): 从字符串开头 开始匹配,寻找完整个字符串后,将结果以 列表 返回

懒癌,配上??楹馐秃孟?/p>

re.split(pattern, string, maxsplit=0, flags=0),如果匹配成功,则返回一个列表,否则返回原string列表;
第一个参数:正则表达式
第二个参数:要匹配查找的原始字符串;
第三个参数:可选参数,表示最大的拆分次数,默认为0,表示全部分割;
第四个参数:可选参数,标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等;
需要特别注意的是,这个方法并不是完全匹配。它仅仅决定在字符串开始的位置是否匹配。所以当pattern结束时若还有剩余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符'$'
例如: re.split(‘z’, ‘p.python.p’)返回值为['p.python.p'];  #失败返回原string列表
       re.split(‘p’, ‘p.python.p’)返回值为['', '.', 'ython.', '']   #成功返回新列表


方法一:

对象名1 = re.split(正则表达式,  要匹配的原字符串)

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os,re;

pattern = r'[?|&]'
string = "https://www.baidu.com/baidu?&ie=utf-8&word=51cto"
result = re.split(pattern, string)
print('Match:',result)

运行结果:

Match: ['https://www.baidu.com/baidu', '', 'ie=utf-8', 'word=51cto']



转载自://blog.51cto.com/13502993/2317601

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



常用数据库操作语句(1)
建库CREATEDATABASEIFNOTEXISTSgloryroadDEFAULTCHARSETutf8COLLATEutf8_general_ci;建表createtablestudentInfo(IDintnotnullauto_incrementcomment"不为空的自增长的主键ID",student_idvarchar(20)notnull,namevarchar
Python打开文件
Python打开文件
python3异步编程-实例
Python3异步编程实例篇本篇主要内容:启动一个线程启动多线程获取线程名字让线程按顺序执行给线程加上日志线程类的实现线程锁多线程使用全局变量下锁的重要性锁嵌套的问题使用队列来存储线程数据取得线程中的线果多线程与非多线程性能对比多线程与非多线程I/O操作线程池的使用一、用threading启动一个线程示例代码:#!/usr/bin/python3importtimefromthreadingimp
Python Day22
CBV视图类
python 在Centos6下部署Mongodb数据库
注:Cenots7的系统不需要部署glibc,可以直接安装启动Mongodb数据库脚本如下catmongodbInstall.py#!/usr/bin/envpython#coding:utf-8importosimportzipfileimporttarfileimportshutilline=os.linesepscript_path=os.getcwd()glibc_package='gli
python伪代码之爬取完美志愿全国历年文理分数线运行代码持续更新
最近好多小伙伴说想搞个项目实战类的,我就花了一点时间做了一个爬虫项目(在代码复制的时候可能会有点问题,缩格一下就没有问题了)想要获取更多源码或者答疑或者或者交流学习可以加群:725479218#-*-coding:utf-8-*-fromfunction.data_toolimportclean_dataimporthashlibimportfurl.furlfromcrawlers.downlo
Python基础--字典(dictionary)
1.字典的定义,键唯一,值随意dic={key0:value0,key1:value1}2.输出print(dic[key0])>>:value03.遍历字典3.1keys()遍历字典中的keydic={'name':'zhangsan','age':20}forkindic.keys():print(k)>>:nameage3.2values()遍历字典中的valuedi
Python基础--元组(tuple)
1.元组的定义,元组与列表不同之处在于元组中的元素不能修改:tup1=('张三','李四',123)2.读取元组数据,和列表相同print(tup1[0])>>:张三3.index()方法,返回元素在元组中得位置,不存在则报错print(tup1.index('张三'))>>:04.count()计算元素在元组中出现的次数print(tup1.count(123))>
Python面向对象程序设计之抽象工厂模式之二-一个更加pythonic的抽象工厂
????上一篇文章我们说到DiagramFactory和其SvgDiagramFactory子类以及它们使用到的类比如(Diagram,SvgDiagram等等),能够很好的实现预订的功能并且也符合抽象工厂的设计模式。然而,我们的实现并非是非常完美的,至少还有以下几点不足:我们并不需要保存每个工厂的状态,因此,在向create_diagram传递参数的
【Python基础】流程控制-break及continue使用及while..else的使用
'''break用于结束一个完整的循环,跳出循环体执行循环后面的语句continue用于跳出本次循环,但继续下一个循环''''''continue的用法打印1-10的数字,3除外'''#count=1#whilecount<=10:#ifcount==3:#count+=1##如果不添加count+=1当打印到3,直接跳出本次循环这个时候count还是3,就无法进行下次循环#continue