建站步骤图由wordpress强力驱动

diannao/2026/1/22 19:24:27/文章来源:
建站步骤图,由wordpress强力驱动,wordpress活动报名插件,五大建设是什么内容前言 输入一个手机号18333333333#xff0c;你是怎么知道这串数字是手机号呢#xff0c;假如现在你用python写一段代码#xff0c;类似#xff1a; phone_number input(please input your phone number#xff1a;) 你怎么判断这个phone_number是合法的呢#xff1f;…前言 输入一个手机号18333333333你是怎么知道这串数字是手机号呢假如现在你用python写一段代码类似 phone_number input(please input your phone number) 你怎么判断这个phone_number是合法的呢根据手机号码一共11位并且是只以13、14、15、18开头的数字这些特点我们用python写了如下代码 while True:phone_number input(please input your phone number )if len(phone_number) 11 \and phone_number.isdigit()\and (phone_number.startswith(13) \or phone_number.startswith(14) \or phone_number.startswith(15) \or phone_number.startswith(18)):print(是合法的手机号码)else:print(不是合法的手机号码) 现在换一种写法 import re phone_number input(please input your phone number ) if re.match(^(13|14|15|18)[0-9]{9}$,phone_number):print(是合法的手机号码) else:print(不是合法的手机号码) 上面就是今天我们要学习python里的 re模块和正则表达式。 正则表达式不仅在python领域在整个编程届都占有举足轻重的地位。不管以后你是不是去做python开发只要你是一个程序员就应该了解正则表达式的基本使用。如果未来你要在爬虫领域发展你就更应该好好学习这方面的知识。但是 re模块本质上和正则表达式没有一毛钱的关系。re模块和正则表达式的关系 类似于 time模块和时间的关系他只是正则表达式在python中的实现。正则表达式本身也和python没有什么关系就是匹配字符串内容的一种规则。 官方定义正则表达式是对字符串操作的一种逻辑公式就是用事先定义好的一些特定字符、及这些特定字符的组合组成一个“规则字符串”这个“规则字符串”用来表达对字符串的一种过滤逻辑。 正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 谈到正则就只和字符串相关了。在提供的工具中你输入的每一个字都是一个字符串。 其次如果在一个位置的一个值不会出现什么变化那么是不需要规则的。比如你要用”1″去匹配”1″或者用”2″去匹配”2″直接就可以匹配上。这连python的字符串操作都可以轻松做到。 那么在之后我们更多要考虑的是在同一个位置上可以出现的字符的范围。 字符组 [字符组] 在同一个位置可能出现的各种字符组成了一个字符组在正则表达式中用[]表示 字符分为很多类比如数字、字母、标点等等。 假如你现在要求一个位置只能出现一个数字,那么这个位置上的字符只能是0、1、2...9这10个数之一。 正则待匹配字符匹配结果说明[0123456789]8True在一个字符组里枚举合法的所有字符字符组里的任意一个字符 和”待匹配字符”相同都视为可以匹配[0123456789]aFalse由于字符组中没有”a”字符所以不能匹配[0-9]7True也可以用-表示范围,[0-9]就和[0123456789]是一个意思[a-z]sTrue同样的如果要匹配所有的小写字母直接用[a-z]就可以表示[A-Z]BTrue[A-Z]就表示所有的大写字母[0-9a-fA-F]eTrue可以匹配数字大小写形式的af用来验证十六进制字符 字符 元字符 匹配内容.匹配除换行符以外的任意字符\w匹配字母或数字或下划线\s匹配任意的空白符\d匹配数字\n匹配一个换行符\t匹配一个制表符\b匹配一个单词的结尾^匹配字符串的开始$匹配字符串的结尾\W匹配非字母或数字或下划线\D匹配非数字\S匹配非空白符a|b匹配字符a或字符b()匹配括号内的表达式也表示一个组[…]匹配字符组中的字符[^…]匹配除了字符组中字符的所有字符 量词 量词用法说明*重复零次或更多次重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次 . ^ $ 正则待匹配字符匹配结果说明海.海燕海娇海东海燕海娇海东匹配所有”海.”的字符^海.海燕海娇海东海燕只从开头匹配”海.”  海.$  海燕海娇海东海东只匹配结尾的”海.$” * ? { } 正则待匹配字符匹配结果说明李.?李杰和李莲英和李二棍子李杰 李莲 李二?表示重复零次或一次即只匹配”李”后面一个任意字符李.*李杰和李莲英和李二棍子李杰和李莲英和李二棍子*表示重复零次或多次即匹配”李”后面0或多个任意字符李.李杰和李莲英和李二棍子李杰和李莲英和李二棍子表示重复一次或多次即只匹配”李”后面1个或多个任意字符李.{1,2}李杰和李莲英和李二棍子李杰和 李莲英 李二棍{1,2}匹配1到2次任意字符 注意前面的*,,?等都是贪婪匹配也就是尽可能匹配后面加?号使其变成惰性匹配 正则待匹配字符匹配结果说明李.*?李杰和李莲英和李二棍子李 李 李惰性匹配 字符集^ 正则待匹配字符匹配结果说明李[杰莲英二棍子]*李杰和李莲英和李二棍子李杰 李莲英 李二棍子表示匹配”李”字后面[杰莲英二棍子]的字符任意次李[^和]*李杰和李莲英和李二棍子李杰 李莲英 李二棍子表示匹配一个不是”和”的字符任意次[\d]456bdha34 5 6 3表示匹配任意一个数字匹配到4个结果[\d]456bdha3456 3表示匹配任意个数字匹配到2个结果 分组 ()与 或 ^ 身份证号码是一个长度为15或18个字符的字符串如果是15位则全部由数字组成首位不能为0如果是18位则前17位全部是数字末位可能是数字或x下面我们尝试用正则来表示 正则待匹配字符匹配 结果说明^[1-9]\d{13,16}[0-9x]$110101198001017032110101198001017032表示可以匹配一个正确的身份证号^[1-9]\d{13,16}[0-9x]$11010119800101701101011980010170表示也可以匹配这串数字但这并不是一个正确的身份证号码它是一个16位的数字^[1-9]\d{14}(\d{2}[0-9x])?$1101011980010170False现在不会匹配错误的身份证号了 ()表示分组将\d{2}[0-9x]分成一组就可以整体约束他们出现的次数为0-1次^([1-9]\d{16}[0-9x]|[1-9]\d{14})$110105199812067023110105199812067023表示先匹配[1-9]\d{16}[0-9x]如果没有匹配上就匹配[1-9]\d{14} 转义符 \ 在正则表达式中有很多有特殊意义的是元字符比如\n和\s等如果要在正则中匹配正常的”\n”而不是”换行符”就需要对”\”进行转义变成’\\’。 在python中无论是正则表达式还是待匹配的内容都是以字符串的形式出现的在字符串中\也有特殊的含义本身还需要转义。所以如果匹配一次”\n”,字符串中要写成’\\n’那么正则里就要写成”\\\\n”,这样就太麻烦了。这个时候我们就用到了r’\n’这个概念此时的正则是r’\\n’就可以了。 正则待匹配字符匹配结果说明\n\n False因为在正则表达式中\是有特殊意义的字符所以要匹配\n本身用表达式\n无法匹配\\n\n True转义\之后变成\\即可匹配“\\\\n”‘\\n’ True如果在python中字符串中的’\’也需要转义所以每一个字符串’\’又需要转义一次r’\\n’r’\n’ True在字符串之前加r让整个字符串不转义 贪婪匹配 在满足匹配时匹配尽可能长的字符串默认情况下采用贪婪匹配 正则待匹配字符匹配结果说明.*script…scriptscript…script默认为贪婪匹配模式会匹配尽量长的字符串.*?r’\d’ script script加上为将贪婪匹配模式转为非贪婪匹配模式会匹配尽量短的字符串 几个常用的非贪婪匹配Pattern *? 重复任意次但尽可能少重复 ? 重复1次或更多次但尽可能少重复 ?? 重复0次或1次但尽可能少重复 {n,m}? 重复n到m次但尽可能少重复 {n,}? 重复n次以上但尽可能少重复 .*?的用法 . 是任意字符 * 是取 0 至 无限长度 ? 是非贪婪模式。 合在一起就是 取尽量少的任意字符一般不会这么单独写他大多用在 .*?x 就是取前面任意长度的字符直到一个x出现 re模块下的常用方法 # re是regular expression的缩写表示正则表达式 import re# findall()返回所有满足匹配条件的结果,放在列表里 ret re.findall(a, eva egon yuan) print(ret) #结果 : [a, a]# search()函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以,通过调用group()方法得到匹配的字符串,如果字符串没有匹配则返回None ret re.search(a, eva egon yuan).group() print(ret) #结果 a# match()同search,不过在字符串开始处就开始进行匹配 ret re.match(a, abc).group() print(ret) # 结果 a如果是b则匹配不到返回None# split()先按a分割得到和bcd,在对和bcd分别按b分割,不是很常用 ret re.split([ab], abcd) print(ret) #结果 [, , cd]# re.sub() 正则替换sub是substitude的缩写表示替换re.sub是正则表达式的函数实现比普通字符串更强大的替换功能语法如下sub(pattern,repl,string,count0,flag0)1))pattern正则表达式的字符串 eg中r\w(r,标识不转义)2))repl被替换的内容就是替换成的内容eg中103))string就是被替换的字符串eg中xy 15 rt 3e,gep4))count:由于正则表达式匹配的结果是多个使用count来限定替换的个数从左向右默认值是0替换所有的匹配到的结果eg中25))flags是匹配模式可以使用按位或者“|”表示同时生效也可以在正则表达式字符串中flagsre.Ire.I(IGNORECASE)忽略大小写括号内是完整的写法re.M(MULTILINE)多行模式改变^和$的行为re.S(DOTALL)点可以匹配任意字符包括换行符re.L(LOCALE)做本地化识别的匹配表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境不推荐使用re.U(UNICODE) 使用\w \W \s \S \d \D使用取决于unicode定义的字符属性。在python3中默认使用该flagre.X(VERBOSE)冗长模式该模式下pattern字符串可以是多行的忽略空白字符并可以添加注释re.sub(r\w,10,xy 15 rt 3e,gep,2,flagsre.I ) # 结果 10 10 re 3e,gep # 其中r\w为正则表达式匹配多个英文单词或者数字10为被替换的内容“xy 15 rt 3e,gep”是re匹配的字符串内容count只替换前2个flag表示忽略大小写# subn()正则替换返回元组(替换的结果,替换了多少次) ret re.subn(\d, H, eva3egon4yuan4) print(ret) # compile()将正则表达式编译成为一个 正则表达式对象 obj re.compile(\d{3}) # 规则要匹配的是3个数字 # 正则表达式对象调用search,参数为待匹配的字符串 ret obj.search(abc123eeee) print(ret.group()) #结果 123 # finditer返回一个存放匹配结果的迭代器 import re ret re.finditer(\d, ds3sy4784a) print(ret) # callable_iterator object at 0x10195f940 print(next(ret).group()) # 查看第一个结果 print(next(ret).group()) # 查看第二个结果 print([i.group() for i in ret]) # 查看剩余的左右结果 注意 1 findall的优先级查询 import reret re.findall(www.(baidu|oldboy).com, www.oldboy.com) print(ret) # [oldboy] 这是因为findall会优先把匹配结果组里内容返回,如果想要匹配结果,取消权限即可,用 ?:ret re.findall(www.(?:baidu|oldboy).com, www.oldboy.com) print(ret) # [www.oldboy.com] 2 split的优先级查询 retre.split(\d,eva3egon4yuan) print(ret) # [eva, egon, yuan]retre.split((\d),eva3egon4yuan) print(ret) # [eva, 3, egon, 4, yuan]# 在匹配部分加上之后所切出的结果是不同的 # 没有的没有保留所匹配的项但是有的却能够保留了匹配的项 # 这个在某些需要保留匹配部分的使用过程是非常重要的。# 添加表现和匹配标签 # 可以在分组中利用?Pname的形式给分组起名字获取的匹配结果可以直接用group(名字)拿到对应的值 ret re.search((?Ptag_name\w)\w/(?Ptag_name),h1hello/h1) print(ret.group(tag_name)) # 结果 h1 print(ret.group()) # 结果 h1hello/h1# 如果不给组起名字也可以用\序号来找到对应的组表示要找的内容和前面的组内容一致获取的匹配结果可以直接用group(序号)拿到对应的值 ret re.search(r(\w)\w/\1,h1hello/h1) print(ret.group(1)) print(ret.group()) # 结果 h1hello/h1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wap类网站企业免费网站注册

说在前面:有粉丝提问说自己并不确定学前端,因为自己还没有工作,想做程序员,想问问做哪个方向比较有前途; 有两三个小伙伴这么问的,感觉很有意义,拿出来单独说说比较好。 目录 程序员有哪些选择&…

做博客网站怎么赚钱吗网站群建设情况

目录 写在开头1.简单回顾2. 时间周期和区间2.1 处理时间周期2.2 时间区间的处理2.3 实际场景案例2.4 复杂周期的处理2.5 区间计算中的时区考虑3. 时间格式本地化3.1 解释多地区的本地化支持3.2 演示国际化灵活性3.3 处理不同语言和习惯4. 时间迭代4.1 Pendulum的时间迭代方法4.…

2020站群seo系统wordpress 文章推荐一篇

12月14日晚9点才到无锡,棉袄都湿透了,到公寓那已经无力,天黑什么都看不清,到一个摆摊的阿姨买了根火腿肠,问了下路。买了点日用品,打扫了宿舍,折腾的很晚。12月15日,6点多就醒了&…

全站flash网站珠海哪个建设网站建设好

Hello,很有缘在这篇文章上我们相遇了,那么我就用题目巩固我们多级指针的知识,当然这里的题目是比较有点难度的,我们需要有点基础呀,如果你能轻松理解题目那说明你对指针的了解已经很有基础了呢,那废话不多说…

石家庄建网站挣钱优帮云php 网站版面素材

类别类名说明Visual Basic 数据类型C# 数据类型C 托管扩展数据类型JScript 数据类型整数Byte8 位的无符号整数。BytebytecharByteDZX7¢&dot [url]www.cnntec.com[/url]…gT‚sSByte8 位的有符号整数。 不符合 CLS。DZX7¢&dot [url]www.cnntec.com[/url]…gT‚…

如何查网站的百度快照张店网站建设价

目标检测和图像分类是计算机视觉领域的两个重要任务,它们有一些关键的区别: 1、任务目标 图像分类:图像分类的任务是将输入的图像分为不同的类别,通常是预定义的类别集合。在这种任务中,算法的目标是确定图像中包含的…

公司地址查询网站黄山网站建设电话

http://paste.ubuntu.org.cn 转载于:https://www.cnblogs.com/yuliyang/p/3658964.html

网站制作 中企动力公司外贸新品开发网站

WIN10的IE错误代码inet_e_resource_not_found解决办法 原创 候鸟307183846 最后发布于2019-08-27 13:31:54 阅读数 2413 收藏 展开 解决方案: 1、在Internet选项里,点《连接》标签,按下《局域网设置》按钮,在对话框里&#…

网站建设 市场规模四川省建设厅官方网站

最近在忙学校官网上的题,就借此记录分享一下有价值的题: 1.注意枚举角度 如果我们就对于不同的k常规的枚举,复杂度直接炸了。 于是我们考虑换一个角度,我们不妨从1开始枚举因子,我们记录下他的倍数的个数sum个&#…

江西做网站找谁注册过哪些网站

在许多编程语言中,接口(interface)是一种定义了一组规范的结构,用于指导实现类应该具有哪些方法。在接口中,方法的可见性是一个重要的话题,而有些语言中对于接口方法中是否需要显式添加 ‘public’ 修饰符存…

商丘网站公司设计公司简介范文

数据库管理211期 2024-06-23 数据库管理-第211期 记一次简单的SQL性能优化(20240623)1 起因2 变化3 排查问题4 优化方案1方案2方案3 5 效果总结 数据库管理-第211期 记一次简单的SQL性能优化(20240623) 作者:胖头鱼的鱼…

嘉兴网站排名公司uc信息流广告投放

一、组合问题 1.题目 Leetcode:第 77 题 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4…

北京平台网站建设深圳网站定制建设

在配置Django时,选择的是mysql数据库,要安装MySQLdb模块,不过安装过程中,遇到了很多errors,记录一下。 系统:ubuntu 11.10 mysql:直接apt-get安装的,version:5.1.62 到官方下载MySQL for Python 然后解压&a…

免备案网站wordpress 修改源码

题目: . - 力扣(LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0…

舟山高端网站设计怎么知道一个网站的权重

rust在内存资源管理上采用了(先进优秀?算吗)但特立独行的设计思路:所有权。这是rust的核心,贯穿在整个rust语言的方方面面,并以此为基点来重新思考和重构软件开发体系。 涉及到的概念点:借用&am…

网站策划制作公司哈尔滨搜索引擎排名

Ae做一个立体地球 拿到一张照片 将它变成标题的地球 在AE里 即可变成一个地球 看上去亮多了,再定个关键帧即可旋转

免费入驻的外贸网站绵阳企业网站建设

首先我们知道vue里面包含有父子组件 但是你知道如果要进行一个element的手动组件封装 怎么封装吗 1首先第一步 首先我们建立一个组件 最好设置在一个文件目录下比如components 只是一个普通的组件 叫做OneButton.vue <template><button class"one-button&…

设计网站推荐html保定网站开发公司

给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1&#…

ajax网站开发技术培训方案

该系统将采用B/S结构模式&#xff0c;前端部分主要使用html、css、JavaScript等技术&#xff0c;使用Vue和ElementUI框架搭建前端页面&#xff0c;后端部分将使用Nodejs来搭建服务器&#xff0c;并使用MySQL建立后台数据系统&#xff0c;通过axios完成前后端的交互&#xff0c;…

兰州网站建设价作词做曲网站

目录 前言: 什么是时序图: 时序图的组成元素&#xff1a; 1. 角色(Actor) 2. 对象(Object) 3. 生命线(LifeLine) 4. 激活期(Activation) 5. 消息类型(Message) 6.组合片段(Combined fragment) 时序图的绘制规则:​ 绘制时序图的3步&#xff1a; 1.划清边界&#xf…