当前位置: 首页 > news >正文

购物网站制作实例自己怎么开发游戏软件

购物网站制作实例,自己怎么开发游戏软件,最新成都双流区娱乐场所关闭,扬州市住房建设局网站目录 六、re.findall()函数和分组 1、0/1分组情况 2、多分组情况 七、或“|”的用法 1、作用域 2、用法 八、贪婪模式和懒惰模式 1、量词的贪婪模式 2、量词的懒惰模式 九、匹配对象 1、相关函数 六、re.findall()函数和分组 1、0/1分组情况 在正则表达式中&#x…

目录

六、re.findall()函数和分组

1、0/1分组情况

2、多分组情况

七、或“|”的用法

1、作用域

2、用法

八、贪婪模式和懒惰模式

1、量词的贪婪模式

2、量词的懒惰模式

九、匹配对象

1、相关函数


六、re.findall()函数和分组

1、0/1分组情况

在正则表达式中,如果没有分组的话,re.findall()函数就会返回一个所有符合匹配的子串的集合的列表,有且只有一个分组时,re.findall()函数会返回一个列表,列表中的每一个元素就是一个符合匹配的子串在分组中的内容

例子:

import rezzbds = "[a-z]+(\d+)[a-z]+"
str = "ac99o hs665cja jja666kc"x = re.findall(zzbds , str)
print(x)

在这个例子的正则表达式中,我们加了一个分组,把\d+给括起来了,这样输出结果的时候,就是把各个符合要求的子串中,分组的部分给输出出来

看看输出:

我们可以把上面例子的分组去掉,来看看这两个的区别:

代码:

import rezzbds = "[a-z]+\d+[a-z]+"    #删去了分组的括号
str = "ac99o hs665cja jja666kc"x = re.findall(zzbds , str)
print(x)

输出:

这样就是输出各个符合要求的子串

2、多分组情况

在正则表达式中,若正则表达式中有多个分组,则re.findall()函数会返回一个包含多个元组的列表,每一个元组里面就是各个符合要求的子串中的分组的集合,顺序是一号分组,二号分组……

例子:

import rezzbds = "a(\d+)b c(\d+)d"
str = "a99b c88d a2932b c8239d a3b c22d"x = re.findall(zzbds , str)
print(x)

输出:

七、或“|”的用法

1、作用域

“ | ”表示或,如果没有放在分组的括号中,则作用范围就是整个正则表达式,或者到另外一个“ | ”处

2、用法

“ | ”是从左往右的短路匹配,即匹配上一个之后就不在计算能不能匹配上后面的了,比如正则表达式:(a | b),如果我们能用正则表达式a匹配上字符串,就不考虑b能后也能匹配上了

我们来看一个例子:

import rea = "aa|aab"
b = "aabaaccddeeaab"
c = re.findall(a , b)
print(c)

结果:

在上面的例子中,其实aab也可以有匹配的,但是它前面有aa这个正则表达式,所以当我们能匹配到aa的时候,aab就不会再被考虑了,除非aa无法匹配成功,才会考虑aab

八、贪婪模式和懒惰模式

1、量词的贪婪模式

贪婪模式就是在匹配字符串的时候会尽量匹配较长的子串

量词中+ * ? {m,n}等都是贪婪模式的

例子:

import rea = "<p>.+</p>"
b  = "<p>hello world !</p><p>你好!</p>"
c = re.findall(a , b)
print(c)

在这个例子中,我们想分别的输出两个HTML中的两个p元素,但是量词+是贪婪的,它会尽可能的匹配长的字符串,所以为了更长,他就把开头和结尾的那两个当作了匹配条件

所以输出是:

2、量词的懒惰模式

和贪婪模式相反,懒惰模式则是要匹配尽可能短的子串

我们在量词中+ * ? {m,n}这些量词的后面加上“?”,就是懒惰模式:

我们把上面的例子中添加一个问号:

import rea = "<p>.+?</p>"    #添加了一个?
b  = "<p>hello world !</p><p>你好!</p>"
c = re.findall(a , b)
print(c)

输出:

我们发现,变成了我们想要输出的两个元素了

九、匹配对象

匹配对象是我们在使用正则表达式时,匹配成功之后返回的结果集,但有时可能不一定是匹配成功的字符串,而是迭代器,所以,我们需要一些函数来输出我们想要的内容:

1、相关函数

①group([n1] , [n2]……)

用于获得一个或多个分组匹配的字符串,指定多个参数的时候以元组的形式返回,上述中的n1,n2等是指的分组的组号

编号0即代表整个匹配的子串,即group()等价于group(0)

没有匹配的字符串的时候我们返回None

匹配了多次的组返回最后一次匹配的子串

注:group函数支持search,match,finditer

②groups([default])

以元组的形式返回全部分组匹配的字符串,相当于调用了group(1,2,3,4……last),如果没有匹配成功的字符串,就用default这个值代替,默认的话是None

③groupdict([default])

返回以有名字的组的名字为键,以该组匹配到的子串为值的一个字典,没有名字的分组不包含在内(我们用(?P<name>pattern)来给分组的组起名字)

例子:

import rea = r"(?P<vvv>a(.+?)b)"
b  = "miascybku"
c = re.finditer(a , b)
for i in c :print(i.group("vvv"))

输出:

④start([group])

返回指定的组匹配的子串在string中的起始位置,group的默认值为0

⑤end([group])

返回指定的组匹配的子串在string中的结束位置(子串最后一个字符的位置+1),group的默认值为0

⑥span([group])

返回(start([group]) ,end([group]) ),group可以是组的编号,也可以是组的名字,缺省为0

⑦string

匹配时使用的子串

⑧lastindex

将最后一个匹配的分组的编号(不一定是最大的编号)输出,没有分组的话返回None

以上就是Python正则表达式(二)的全部内容:)

http://www.dtcms.com/a/452040.html

相关文章:

  • 做蛋糕的英文网站制作灯笼活动
  • 定制网站建设的流程图找网站开发需求客户平台
  • 企业网站备案是什么意思网站免费正能量不下载
  • 视频教学网站开发需求分析wordpress有什么有趣的插件
  • 开源模板网站浙江邮电工程建设有限公司网站
  • 企业网站网络推广个体户怎么做购物网站
  • 贵阳工程建设招聘信息网站asp网站开发好怎么预览
  • 璧山职教中心示范校建设网站网站图片设置软件
  • 前端做网站的兼职如何看网站做没做推广
  • 手机怎么制作网站教程视频我想用c 来做网站
  • 公司建设网站申请国外有哪些设计网站推荐
  • 网站与微信结合为什么网站建设还要续费
  • 公司网站服务类型怎么填php网站分类目录程序 网址导航程序 织梦二次开发
  • 打开网站自动弹出qqwordpress做多语言
  • 做流量网站有收入吗国外常用的网站开发系统
  • 怎么下载网站的模板云南昆明做网站
  • 江苏建设厅网站首页湖北网站设计制作开发
  • 现在做网站还赚钱吗在线网页制作网站
  • 个人做企业 网站公司网站找哪家
  • 什么查网站是否降权那个相亲网站做的比较好
  • 建设网站制flash xml网站
  • 网站设计知名企业在百度做广告多少钱
  • python网站搭建广州做手机网站建设
  • 音乐网站建设规划书汕头网站建设设计价格
  • 瓷器网站怎么做win2003搭建php网站
  • html5在线网站nas可以做网站吗
  • 北京网站备案在哪污水处理厂网站建设
  • 建网站需什么条件个人免费建站系统
  • 合肥建站推广贴吧推广400一个月
  • 网站开发文案模板icp备案号怎么填写