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

淄博网站建设-中国互联局域网的常用技术是什么

淄博网站建设-中国互联,局域网的常用技术是什么,长春做网站4435,网站排名做不上去正则表达式 1.正则的作用 正则表达式式一种可以让复杂的字符串变得简单的工具。 写正则表达式的时候就是用正则符号来描述字符串规则。 2.正则语法 需要导入模块 from re import fullmatch, findall, search2.1.第一类#xff1a;匹配类符号 1#xff09;普通字符—在…正则表达式 1.正则的作用 正则表达式式一种可以让复杂的字符串变得简单的工具。 写正则表达式的时候就是用正则符号来描述字符串规则。 2.正则语法 需要导入模块 from re import fullmatch, findall, search2.1.第一类匹配类符号 1普通字符—在正则表达式中表式符号本身的符号 result fullmatch(rabc, abc) print(result) # re.Match object; span(0, 3), matchabc2.点 —匹配任意一个字符 result fullmatch(r.bc, wbc) # 第一位任意字符都可以第二位和第三位必须是bc否则为空 print(result) # re.Match object; span(0, 3), matchwbc result fullmatch(r.bc, wcc) print(result) # None3\d — 匹配任意一个数字字符 result fullmatch(r\d\dabc, 88abc) # abc前面任意两个数字都可以 print(result) # re.Match object; span(0, 5), match88abc4\s —— 匹配任意一个空白字符 空白字符空格(‘’)、换行(‘\n’)、水平制表符(‘\t’) result fullmatch(r123\sabc, 123 abc) result1 fullmatch(r123\sabc, 123\tabc)5\w — 匹配任意一个字母、数字、下划线或者中文 result11 fullmatch(rabc\w123, abcT123) result12 fullmatch(rabc\w123, abc8123) result2 fullmatch(rabc\w123, abc_123) result3 fullmatch(rabc\w123, abc我123)6\D、\S、\W —— 分布和\d、\s、\w的功能相反 \D —— 除了数字的任意字符 result4 fullmatch(rabc\D123, abcw123) result5 fullmatch(rabc\D123, abc8123) # None\S —— 除了空白字符的任意字符 result41 fullmatch(rabc\S123, abc1123) result51 fullmatch(rabc\SD123, abc 123) # None\W —— 除了字母数字下划线和中文的任意字符 result42 fullmatch(rabc\W123, abc*123) result52 fullmatch(rabc\W123, abc_123) # None注意如果字符中间是tab键不可以因为只能匹配任意一个字符tab是四个。 7[字符集] —— 匹配在字符集中的任意一个字符 [abc] —— 匹配a或者b或者c [abc\d] —— 匹配a或者b或者c或者任意数字[abc0123456789] [0-9] —— 匹配字符0到9中任意一个字符 [a-z] —— 匹配任意一个小写字母 [A-Z] —— 匹配任意一个大写字母 [a-z%] —— 匹配任意一个小写字母或者% [a-zA-Z] —— 匹配任意一个字母 [a-zA-Z\d] —— 匹配任意一个字母或者数字 [\u4e00-\u9fa5] —— 匹配任意一个中文result6 fullmatch(rabc[你好hello]123, abc你123) print(result6) # re.Match object; span(0, 7), matchabc你123result33 fullmatch(rabc[\u4e00-\u9fa5]123, abc婷123) print(result33)8)[^字符串] —— 匹配不在字符集中的任意一个字符 result71 fullmatch(rabc[^MN]123, abca123) # 除了MN的字符其它都可以 result72 fullmatch(rabc[^MN]123, abcM123) # None2.2 第二类符号匹配次数符号 匹配类符号 匹配次数 1) * —— 任意次数0次或者1次或者多次 a* —— a出现任意多次 \d* —— 任意多个任意数字 [abc]* —— abc中任意一个字符可以出现任意多次result81 fullmatch(r1a*2, 1aaaaaaa2) result82 fullmatch(rM\d*N, M1234567890N) result83 fullmatch(rM[3-9]*N, M1234567890N)2 —— 一次或者多次至少1次 result86 fullmatch(r1a2, 1aaa2)3 —— 0次或者1次 result84 fullmatch(r1a?2, 1aa2) # none result85 fullmatch(r1a?2, 1a2)4) {} {N} —— N次 {M,N} —— M到N次 {M,} —— 至少M次 {,N} —— 最多N次result8 fullmatch(r1a{3}2, 1aaa2) # a出现3次 result87 fullmatch(r1a{3,6}2, 1aaaa2) # a出现3到6次都可以# 练习写一个正则表达式可以匹配任意一个除了0的整数。 # 合法233、234、-7283、100、-2000 # 不合法0、0002、2.23 result9 fullmatch(r[-]?[1-9]\d*, 0.123) print(result9)5贪婪和非贪婪模式 1.在匹配次数不确定的时候如果有多种次数都可以匹配成功贪婪取最多的那个次数非贪婪取最少的那个次数。 2.默认是贪婪模式· 3.贪婪模式、、*、{MN}、{M}、{N} 非贪婪模式、、*、{MN}、{M}?、{N}? result10 search(ra.{3,5}b, a123b) # 匹配字符串中第一个满足正则表达式,就是取三个 print(result10)# ahhhhb,ahhhhbyyb,ahhhhbyybuuub result121 search(ra.b, dhwahhhhbyybuuubvxgdfs) print(result121) # ahhhhbyybuuub # 非贪婪,就是在正常的写法后面加一个 result122 search(ra.?b, dhwahhhhbyybuuubvxgdfs) print(result122) # ahhhhb# 练习使用正则提取top250中每个电影的详情页地址 import requests from re import findallheaders {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 } response requests.get(https://movie.douban.com/top250?start0filter, headersheaders) result findall(ra href(https://movie.douban.com/subject/.*?/) , response.text) print(result) #方法2 response requests.get(https://movie.douban.com/top250?start0filter, headersheaders) result list(set(findall(rhttps://movie.douban.com/subject/.*?/ , response.text))) print(result)3.分组和分支 1)分组 —— () 正则表达式中可以用()将部分内容括起来表示一个整体括号括起来的部分就是一个分组 a.整体操作的时候需要分组 b.重复匹配 —— 正则中可以通过\M来重复它前面第M个分组匹配的结果 c.捕获 —— 提取分组匹配到的结果(捕获分为自动捕获(findall)和手动捕获)1.整体操作 # 整体操作 # 23M result23 fullmatch(r(\d\d[A-Z]), 45T45H65F56G90D) print(result23)2.重复匹配 # 重复匹配\1是指的是重复前面第一个括号 #案例 90k90 , 80u80,99u99 result32 fullmatch(r(\d\d)[A-Z]\1, 90K90) print(result32) # re.Match object; span(0, 5), match90K90 # \2是指的是重复第2个括号 result3211 fullmatch(r(\d{3})([A-Z]{2})\2\1, 999LOLO999) print(result3211) # re.Match object; span(0, 11), match999LOLO999 #案例2 提取中文后的数字 # findall在正则表达式中有分组的时候会自动提取正则匹配结果中分组匹配到的内容 message hfuuf你好335556432jfigh89和2470 result99 findall(r[\u4e00-\u9fa5](\d), message) print(result99) # [335556432, 2470] #案例3提取身高的数据 message 我是小明今年18岁,身高180cm,体重70kg result search(r身高(\d)cm,体重(\d)kg, message) 2)匹配对象.group(N) —— 获取匹配结果中指定的分组匹配到的内容 print(result) # re.Match object; span(11, 25), match身高180cm,体重70kg print(result.group()) # 身高180cm,体重70kg print(result.group(1), result.group(2)) # 180 703) 分支 —— | 正则1|正则2|正则3|.... —— 先用正则1进行匹配匹配成功直接成功匹配失败用正则2进行匹配...result fullmatch(\d{3}|[a-z]{2}, mn) print(result) # re.Match object; span(0, 2), matchmnresult fullmatch(rabc\d\d|abc[A-Z]{2}, abc23) print(result) # re.Match object; span(0, 5), matchabc23result fullmatch(rabc(\d\d|[A-Z]{2}), abcLL) print(result) # re.Match object; span(0, 5), matchabcLL4.转义符号 转义符号在本身具有特殊功能或者特殊意义的符号前加,让特殊符号变成普通意思。 # 案例匹配整数部分和小数部分都是两位数的小数 result fullmatch(r[1-9]\d\.\d\d, 23.45) print(result) #re.Match object; span(0, 5), match23.45# 案例需要求两个数的和 result fullmatch(r\d\\d,34) print(result) #re.Match object; span(0, 3), match34# 案例打印’amd‘ result fullmatch(r\([a-z]{3}\),(jsk)) print(result) #re.Match object; span(0, 5), match(jsk)# 注意单独存在有特殊意义的符号在[]中它的功能会自动消失 # 适用于 . ? * $ result fullmatch(r\d[]\d,34) print(result) #re.Match object; span(0, 3), match345.re模板 re模块 —— 提供了python中所有和正则相关的函数。 fullmatch(正则表达式,字符串) —— 用整个字符串判断是否满足正则表达式所描述的规则匹配成功返回匹配对象匹配失败Nonefindall(正则表达式,字符串) —— 获取字符串所有满足正则表达式的子串默认返回一个列表列表中匹配的元素是所有子串存在自动捕获search(正则表达式,字符串) —— 匹配字符串中第一个满足正则表达式的子串,匹配成功返回匹配对象匹配失败返回空split(正则表达式,字符串) —— 将字符串中 所有满足正则的子串作为切割点进行切割split(正则表达式,字符串,N) —— 将字符串中前N个满足正则的子串作为切割点进行切割sub(正则表达式,字符串1,字符串2) —— 将字符串2中所有满足正则的子串都替换成字符串1sub(正则表达式,字符串1,字符串2,N)finditer(正则表达式,字符串) —— 获取字符串中所有满足正则的子串返回一个迭代器迭代器中的元素是匹配对象match(正则表达式,字符串) —— 匹配字符串开头 str1 技术7d3eee5eee7ef7njk9你减肥胶囊7 print(str1.split(7)) # [技术, d3eee5eee, ef, njk9你减肥胶囊, ]str1 技术7d3eee5eee7ef7njk9你减肥胶囊7 print(split(r\d, str1, 2)) # [技术, d, eee5eee7ef7njk9你减肥胶囊7]str1 技术7d3eee5eee7ef7njk9你减肥胶囊7 print(sub(r\d, , str1)) #技术deeeeeeefnjk你减肥胶囊message 妈的sb,西八都打起来了你还在打野操fuck print(sub(r(?i)妈的|sb|西八|操|f\s*u\s*c\s*k|艹,*,message)) #**,*都打起来了你还在打野**str1 技术7d3eee5eee7ef7njk9你减肥胶囊7 result finditer(r\d, str1) print(list(result)) #re.Match object; span(15, 16), match7, re.Match object; span(19, 20), match9, re.Match object; span(25, 26), match7]print(fullmatch(r\d{3}, 234)) print(match(r\d{3}, 234Ihs你好))6.参数 1)忽略大小写:(?i) print(fullmatch(r(?i)abc, abc)) print(fullmatch(r(?i)abc, Abc)) print(fullmatch(r(?i)abc, ABc)) print(fullmatch(r(?i)abc, AbC))2)单行匹配:(?s) 多行匹配(默认).(点) 不能和换行符(\n)进行匹配 单行匹配:.(点)可以和换行符进行匹配 print(fullmatch(rabc.123,abc0123)) # None # print(fullmatch(rabc.123,abc\n123)) print(fullmatch(r(?s)abc.123,abc\n123)) # re.Match object; span(0, 7), matchabc\n123举例 # 输入多行 name:student ——小张message name:student wqe小张result findall(r(?s)name:(.),message) print(result) #[student\nwqe小张]
http://www.dnsts.com.cn/news/14521.html

相关文章:

  • 在线制作图片网站有哪些沧州南皮网站建设公司
  • 明年做哪个网站能致富苏州做网站找哪家好
  • 文化馆的网站怎么建设在线生成固定悬浮导航的工具网站
  • 网络平台运营是做什么的无锡关键词优化价格
  • 网站关键词排名下降seo主管招聘
  • 学做网站论坛好吗会员卡管理系统多少钱一套
  • 苍山县建设银行网站wordpress开发手册
  • 新网站不收录17做网店网站
  • 文山城乡建设部网站首页亚马逊周末可以视频认证吗
  • 淘宝客网站搭建企业网站建设费怎么账务处理
  • 国外做免费的视频网站有哪些wordpress用什么编辑器好
  • 做旅游网站公司网络科技有限公司和科技有限公司的区别
  • 无锡前洲行业网站建设合肥seo优化外包公司
  • 网站服务器下行很多是什么意思凤阳县城乡建设局网站
  • 网站开发建设方案承德市外贸网站建设
  • 国外优秀网站建设郑州网络推广哪个好
  • 织梦音乐网站做3d教学网站
  • 如何找到免费的网站建设深圳产品设计工资
  • 门户网站建设必要性域名已更改请拿笔记住
  • 重庆建设门户网站莒县做网站和微信
  • 学设计哪个网站好广州建网站的公司 白云区
  • 企业seo自助建站系统王烨画家简历
  • 怎样做网站呢 优帮云自己做网站宣传产品
  • 蓝色通用营销型企业网站模板如何评价伊利集团网站建设
  • 做的网站一定要收录么网页商城设计商城网站设计案例
  • 电子政务网站建设实践报告网站为什么突然访问不了
  • 网站下方一般放什么原因win7装什么版本wordpress
  • 制作简单的个人网站网站后台的东西都是要上传到在虚拟主机上面吗
  • 网站开发外包 价格织梦末班和dw建设网站哪个方便优化
  • 网站建站建设哪家好搜索关键词优化