范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python其实很简单第十一章正则表达式

  正则表达式是一个特殊的字符序列,它用来检查一个字符串是否与某种模式匹配。正则表达式在编译程序中至关重要,但并不是每个人都需要特别深入的学习和掌握。在此,只介绍一些最基本的应用。
  1、元字符
  元字符是构成正则表达式的一些特殊字符。在正则表达式中,元字符被赋予了新的含义。
  下面介绍一些常用的元字符及其含义:
  . 匹配除换行符以外的任意字符。
  w 匹配字母、数字、下划线或汉字。
  W 匹配w所匹配的字符以外的字符。
  s 匹配单个空白符(包括Tab键和换行符)。
  S 匹配除s匹配的字符以外的字符。
  d 匹配数字。
  b 匹配单词的分界符,如:空格、标点符号或换行符。
  ^ 匹配字符串的开始
  $ 匹配字符串的结束
  2、限定符
  限定符是在正则表达式中用来指定数量的字符。常用的限定符有:
  ? 匹配前面的字符0或1次。如:zo?m可以匹配zom和zm,但不能匹配 zoom
  + 匹配前面的字符1或n次。如:zo?m可以匹配zom和zoom,但不能匹配zm
  * 匹配前面的字符0或n次。如:zo?m可以匹配zom、zoom和zm
  {n} 匹配前面的字符n次。如:zo{2}m可以匹配zoom,但不能匹配zom和zm
  {n,} 匹配前面的字符至少n次。如:zo{1,}m可以匹配zom和zoom,但不能匹配zm
  {n,m} 匹配前面的字符至少n次,最多m次。如:zo{1,2}m可以匹配zom和zoom,但不能匹配zm
  3、方括号"[ ]"的用途
  方括号"[ ]"里可以列出某个字符范围。如:[aeiou]表示匹配任意一个元音字母,[zqsl]表示匹配姓氏"赵钱孙李"的拼音第一个字母。
  4、排除字符
  方括号"[ ]"中的"^"字符表示排除的意思,如:[^aeiou]表示匹配任意一个非元音字母的字符。
  5、选择字符
  字符"|"相当于"或"。如:(^d{3}[-]d{8})|(^d{4}[-]d{7})$可以匹配形如" - "或" - "的电话号码格式。
  6、转义字符
  对于已经用于定义元字符和限定符的字符,需要加转义符""来表示。
  如:为了匹配形如"192.168.0.1"的IPv4地址(1~255.0~255.0~255.0~255),可以用这样的正则表达式:^(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
  这里解释一下第一段IP地址的规则,取值范围为1~255,可分解为以下情况:
  250~255:25[0-5];
  200~249:2[0-4][0-9];
  100~199:[01]{1}[0-9]{2};
  0~99: [0-9]{1}[1-9]
  再加上".": .
  其他三段地址和第一段相似。
  7、"( )"可以用于分组
  在正则表达式中,用"( )"括起来的部分是一个整体。
  8、r(或R)的意义
  在正则表达式中,为了保证模式字符串为原生字符串(没有经过加工处理的字符串),可以在模式字符串前加上一个字符‘r’或‘R’。例如:
  # 这里用到对的re.match()方法接下来介绍
  >>> import re # 导入re模块
  >>> re.match("bPy[a-z]+","Python") # 表达式"bPy[a-z]+"不能匹配’Python’
  >>> re.match("bPy[a-z]+","Python") # 表达式"bPy[a-z]+"可以匹配’Python’
  
  在上述代码中,原本要用作匹配单词开始或结束的元字符’b’在表达式中字符串中会被视为转义一个字符‘b’,为了转义’b’就不得不再加一个’’符号。
  也可以采用下面的方法:
  >>> re.match(r"bPy[a-z]+","Python") #加字符’r’,可以保证原生字符串
  
  9、match()方法
  Match()方法 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
  语法格式:
  re.match(pattern, string, [flags])
  其中,pattern表示匹配的正则表达式;string是要匹配的字符串;flags表示标志位,用于控制正则表达式的匹配方式,如:re.I表示不区分大小写。
  例:
  import re #导入re模块
  print(re.match("www", "www.python.org/").span()) #span()函数可以获取匹配的位置
  print(re.match("org", "www.python.org"))
  输出结果为:
  (0, 3) #在位置0到3(不包括3)匹配成功
  None #从起始位置未能匹配成功
  10、search()方法
  search()方法用于在整个字符串中搜索第一个匹配的值,如果匹配成功,则返回Match对象,否则返回None。
  语法格式:
  re.search(pattern, string, [flags])
  其中,pattern表示匹配的正则表达式;string是要匹配的字符串;flags表示标志位,用于控制正则表达式的匹配方式,如:re.I表示不区分大小写。
  例如:
  >>> re.search(r"Pyw+","It"s easy to use Python, but it"s not easy to learn Python.")
  
  可以看出,目标字符串"It"s easy to use Python, but it"s not easy to learn Python."中一共有两个‘Python’,search()方法可以从字符串的起始位置开始查找到‘Python’,当找到第一个匹配值后就停止查找,返回位置信息。
  match()和search()的比较
  match()要求目标字符串的起始位置就能匹配,search()对目标字符串全段进行逐次匹配,只要首次匹配成功就停止匹配。
  请看下例:
  >>> import re
  >>> print(re.match(r"Pyw+","It"s easy to use Python, but it"s not easy to learn Python."))
  输出结果:None
  11、findall()方法
  findall()方法用于在整个字符串中搜索所有匹配的值,如果匹配成功,则返回以匹配值为元素的列表,否则返回空列表。
  语法格式:
  re.findall(pattern, string[, flags])
  其中,pattern表示匹配的正则表达式;string是要匹配的字符串;flags表示标志位,用于控制正则表达式的匹配方式,如:re.I表示不区分大小写。
  例:
  >>> import re
  >>>print(re.findall(r"Pyw+","It"s easy to use Python, but it"s not easy to learn Python."))
  输出结果:["Python", "Python"]
  可以看出,findall()的结果没有指出匹配的具体位置。
  12、正则表达式的应用
  字符串替换
  这里要用到sub()方法。它的语法格式如下:
  re.sub(pattern, repl, string [,count] [,flgs])
  其中,pattern是模式字符串;repl是用于替换的字符串;string是原字符串;可选参数count为模式匹配后替换的最大次数,省缺表示替换所有的匹配;可选参数flags的意义与前面的方法的该参数一致。
  例:
  >>> import re
  >>> str1="x=36.567 y=123.234"
  >>> str2=re.sub(".d+","",str1) #用空格代替小数点及其后的数字
  >>> print(str2)
  输出结果:x=36 y=123
  分隔字符串
  这里要用到split()方法。它的返回值为一个列表,它的语法格式如下:
  re.split(pattern, string [,maxsplit] [,flgs])
  其中,pattern是模式字符串;string是原字符串;可选参数maxsplit为最大拆分次数,省缺表示拆分所有的匹配;可选参数flags的意义与前面的方法的该参数一致。
  例:
  >>> import re
  >>> str="白日依山尽,黄河入海流。欲穷千里目,更上一层楼!"
  >>> re.split(r",|。|!",str) #按照","、"。"、"!"分隔字符串。
  ["白日依山尽", "黄河入海流", "欲穷千里目", "更上一层楼", ""]
  注意,返回值列表中多出了一个空字符。

手游代理前期怎样推广?手游代理的利润空间还是很高的,而且现在几乎人人手机中都有两三个不同的手游,喜欢手游的朋友又很多,所以只要是我们能够做好基础的推广工作,那么手游代理也是一份收益很高的工作。但是毕竟前游戏推广,是分享而不是推销相信大家的生活中,或多或少都遇到过被推销的情况。不论是在逛商场时被导购推销商场内的产品,还是接到推销电话推销保险房产。那么我们一般在遇到这些推销时,会有什么样的反应呢?相信大多数人游戏代理之官服,专服,混服,揭秘你所不知的那些事对于游戏而言,无论是网游,页游,还是手游。很多新手玩家或者是刚从事游戏代理的小白,对于游戏的官服,专服,混服的概念肯定不能区服清楚。并且随着市场的变化,以及客户群体的变化,现在还有一起相约有杀气童话2,网易首款战斗童话MMO手游网易首款战斗童话MMO手游MMORPG类型的游戏想必各位玩家都不陌生,无论是火爆数年的魔兽世界还是最近steam上冉冉升起的古剑ol都取得了一定成绩。但是这些游戏仅仅限制于端游,想游戏代理平台到底该怎么选,是不是有了APP就能轻松推广?话不多说,先上结论。有了APP并不能让游戏推广变得轻松。可能这个答案很难让人接受,许多已经做了加盟拿到游戏APP的代理可能就会问了。我只要把APP推广出去,那玩家下载了APP,里面游戏帝国之从游戏代理开始的草根崛起之路(一)十二月,从北方平原上吹来的冷风,裹挟着工业城市的焦煤味,一路南下侵袭着东南沿海的城市。拥挤的水泥森林在这日渐降低的气温里显得冰冷至极,来往的人潮虽一如往常般涌动,可却没有为人们带来2021年了,做手游代理还有钱赚么?话不多,还是直接摆结论,再慢慢阐述为什么。2021年,做手游代理还是有钱赚的,具体要看你怎么赚,并且不是人人都有钱赚的。首先讲讲为什么,有钱赚。游戏行业,作为一个暴力行业其能带来的热血伏魔,快感pk猎魔传奇,经典回归猎魔传奇是一款复古风格的传奇游戏,千人同屏万人沙城,自由的野外副本超高爆装,让你再也感受不到寂寞,四大特色等你探索。1。职业单职业无需选择,只需选择性别即可进入游戏,技能集传统3职成功代理第一步如何选择代理游戏的类别游戏类别众多,从不同的角度可以通过游戏模式游戏内容,又或者游戏平台和游戏地区(国服)来区分。做游戏代理,我们常见的是按游戏内容来区分,我认为主要的原因是手游的可玩性往往比较单一,无自在逍遥遨游九州,九州仙剑传火爆来袭九州仙剑传是一款集多种玩法为一体的仙侠类手游,这里有超清画质,恢弘场景,神兵仙器,霸气坐骑,酷炫技能以及丰富系统带你领略轻操作重体验的休闲挂机玩法,再搭配有趣的奇遇随机事件,给你带史诗级恢弘战场,全方位打造真实魔幻世界精灵盛典黎明技能系统助力玩家极限连击,畅快战斗作为MMO游戏。在游戏中玩家可以进行极限操作,华丽转职。无论是操作还是转职那么技能系统一定是无法脱离关系的,技能系统是游戏中玩家角色战斗的主要系统
银河战士护航!SwitchPro再曝光今年一定来点击右上方关注,第一时间获取科技资讯技能攻略产品体验,私信我回复01,送你一份玩机技能大礼包。5月27日消息,昨晚宝可梦公司官宣,旗下两款新游宝可梦阿尔宙斯和宝可梦晶灿钻石明亮珍珠无缘PGC总决赛后,17shou发文称明年打完就退役,队友的回应来了一起来和小梦分享你的游戏日常!前言绝地求生PGC最后一个阶段的总决赛将于今天下午18点正式开赛,NH,PeRo和KX将作为PCL赛区继续征战,同时第四支中国队伍GEX也要加油,这次丸卡联合网红饮料燃力士,买即送雄狮少年数字藏品盲盒12月17日,数字潮玩发行平台丸卡官方消息,国潮动画电影雄狮少年授权的数字藏品于今日(周五)1500上线丸卡平台,此次上线的雄狮少年数字藏品,包含人物典藏和剧情沉浸两个版本,共计1游戏交易平台的产品类目细数游戏交易平台的服务内容有哪些?可能有些人没有接触过游戏交易平台就会很好奇,游戏交易平台到底有哪些服务呢!难道游戏平台只是负责出售游戏账号吗?还是游戏交易平台只要是关于游戏的所有一切都会囊括。今天就让小编来给大家这就叫正规!WBG发theshy最新安排,粉丝内涵IG比小作坊好多了归队日期随着德杯开赛时间的临近,众多选手纷纷归队,开始训练,包括一些韩援。前不久,EDG战队管理层透露选手归队情况,其他人都在队里,meiko还在老家,viper也在LCK赛区,不剧本杀神鹿复盘解析剧透结局凶手是谁真相答案时间35小时人数6人(3男3女)类型现代,情感,立意,还原。城市限定神鹿剧本杀故事背景传说在遥远东方的神秘大陆之上,有一片人类从未涉足过的土地。那儿山高巍峨,水澈清秀,绿木参天而成荒野之息2或22年11月发售IGN创始人之一PeerSchneider表示最近与任天堂的员工进行了一些对话,谈论了任天堂在2022年的一些计划,其中包括塞尔达传说旷野之息续作,他表示虽然旷野之息2没在TGA上每个人都玩过但是已经没有人讨论的10个游戏(上)多年来,有无数精彩的游戏在游戏行业和流行文化中都掀起了巨大的波澜。例如,构成游戏黄金时代的游戏,如真人快打和街头霸王,已经变得一眼就能认出,并继续吸引大量粉丝进行每次新的迭代。同样王者荣耀12。17体验服更新李元芳被大削芈月云中君增强大家好,我是七七。随着新赛季越来越近,体验服的更新也是频频,相信最近的大动作肯定让下一版本的英雄强度有一次全面的革新。17日体验服又进行了更新,快跟七七一起来看看哪些英雄被进行了平三国志姜维传诸葛果的首秀登场,也是魏延的壮烈谢幕之战诸葛亮出师未捷身先死,带着无限的遗憾和忧虑离开了人世。为了避免蜀汉军队的骚乱并尽量确保有生力量平安地返回成都,诸葛亮将撤退事宜全权委托给了杨仪。尽管魏延在军事才能方面远胜杨仪,但是王者峡谷十大特殊兵器,各个都是绝活哥,就差没用锅碗瓢盆了文丹青解说原创文章盗载必究在王者荣耀中,英雄职业的不同,手中的兵器也会有所不同。例如法师英雄常用的兵器,就是拿在手中的法杖或法器。刺客英雄常用的兵器,是短刃短刀长枪或剑。战坦英雄常