正则表达式是什么
校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。
(资料图片)
正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。
元字符
1.特殊字符串
. 除换行符外任意字符\d 表示任意单个数字 \w 表示任意单个数字或字母或下划线\s 表示任意单个空白符\D \W \S,意思正相反。
2.空白符
\r 回车符\n 换行符\f 换页符\t 制表符\v 垂直制表符\s 任意空白符3.量词
* 代表0次到多次+ 1次到多次? 0到1次{m} 出现m次{m,} 出现至少m次{m,n} m到n次4.范围
|或 ,如ab|bc代表ab或bc... 多选一,括号中任意单个元素a-z 匹配a-z之间任意单个元素^.. 取反,不能包括括号中的任意单个元素贪婪匹配、非贪婪匹配和独占模式
贪婪模式的特点就是尽可能进行最大长度匹配非贪婪模式会尽可能短地去匹配。独占模式和贪婪模式很像,独占模式会尽可能多地去匹配,如果匹配失败就结束,不会进行回溯,这样的话就比较节省时间。具体的方法就是在量词后面加上加号(+),例如xy{1,3}+yz注意: Python 和 Go 的标准库目前都不支持独占模式。
(“.+?”)|\w{2,6}
分组和引用
如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第 1 个,时间是第 2 个。
1.不保存子组
分组的作用就是后续可能还会被引用到,但是如果不需要引用的时候可以添加不保存子组,表达式(?:xxx),优点是正则性能会更好,在子组计数时也更不容易出错。
2.括号嵌套
分组引用在查找中使用
...略
四种匹配模式
1.不区分大小写模式(Case-Insensitive)
不区分大小写模式,正则表达式(?i)cat,这样匹配的字符就不区分大小写了
如果我们想要前面匹配上的结果,和第二次重复时的大小写一致,那该怎么做呢?我们只需要用括号把修饰符和正则 cat 部分括起来,加括号相当于作用范围的限定,让不区分大小写只作用于这个括号里的内容。正则表达式((?i)cat)
2.点号通配模式(Dot All)
元字符里讲.可以匹配除了换行以外的任何元素,用单行模式中使用.,正则表示式(?s).
3.多行匹配模式
多行模式的表达式(?m)^...|...$,这样的匹配好处是每一行
断言
断言是指对匹配到的文本位置有要求。
1.单词边界
在准确匹配单词时,我们使用 \b...\b就可以实现了,也可以指定表达式的开头和结尾^...$
2.环视
环视的主要是定义清晰的边界。
(?<=Y),左边是Y(?<=!Y),左边不是Y(?=Y),右边是Y(?!Y),右边不是Y左尖括号代表看左边,没有尖括号是看右边,感叹号是非的意思。
常用正则Demo
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
匹配中文字符的正则表达式:[u4e00-u9fa5]匹配双字节字符(包括汉字在内):[^x00-xff]匹配空白行的正则表达式:ns*r匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />匹配首尾空白字符的正则表达式:^s*|s*$匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*匹配网址URL的正则表达式:[a-zA-z]+://[^s]*匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:d{3}-d{8}|d{4}-d{7}( 匹配形式如 0511-4405222 或 021-87888822)匹配中国邮政编码:[1-9]d{5}(?!d)匹配身份证:d{15}|d{18}2.匹配特定数字:
匹配正整数^[1-9]d*$匹配负整数 ^-[1-9]d*$匹配整数 ^-?[1-9]d*$匹配非负整数(正整数 + 0)^[1-9]d*|0$匹配非正整数(负整数 + 0)^-[1-9]d*|0$匹配正浮点数 ^[1-9]d*.d*|0.d*[1-9]d*$匹配负浮点数 ^-([1-9]d*.d*|0.d*[1-9]d*)$匹配浮点数 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$匹配非负浮点数(正浮点数 +0) ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$匹配非正浮点数(负浮点数 + 0)^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$3.匹配特定字符串:
匹配由26个英文字母组成的字符串^[A-Za-z]+$匹配由26个英文字母的大写组成的字符串 ^[A-Z]+$匹配由26个英文字母的小写组成的字符串 ^[a-z]+$匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$匹配由数字、26个英文字母或者下划线组成的字符串 ^w+$只能输入数字:^[0-9]*$只能输入n位的数字:^d{n}$只能输入至少n位数字:^d{n,}$只能输入m-n位的数字:^d{m,n}$只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$只能输入有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$只能输入非零的正整数:^+?[1-9][0-9]*$只能输入非零的负整数:^-[1-9][0-9]*$只能输入长度为3的字符:^.{3}$只能输入由26个英文字母组成的字符串:^[A-Za-z]+$只能输入由26个大写英文字母组成的字符串:^[A-Z]+$只能输入由26个小写英文字母组成的字符串:^[a-z]+$只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$验证用户密码:^[a-zA-Z]w{5,17}$正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。验证是否含有^%&"",;=?$"等字符:[^%&"",;=?$x22]+只能输入汉字:^[u4e00-u9fa5],{0,}$验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$ -
study - 一文入门正则表达式|全球简讯如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第1个,时间是第2个。 -
全球快资讯:彻底丧失上位机会!陈幸同状态火热被马琳放弃,最强对手非王艺迪支持重用陈幸同吗?最新一周的世界排名已经公布,在男乒方面樊振东,马龙,王楚钦依旧排名世界第三,而获得男单冠军的梁靖崑世界排名已经冲到 -
焦点资讯:广告耗材有哪些_广告耗材是什么1、所谓的广告耗材是消耗很频繁的广告类产品。2、广告类分很多种,比如说写真耗材,喷绘耗材,机器耗材,反光材料,展示器材, -
全球时讯:魔方口诀表_魔方步骤1、要破解魔方,首先要了解它的结构。魔方有6种颜色,6面,每面分为中心块(中间6个)、角块(4个角8个)和边块(4面中间 -
天梯歌词_歌曲天梯歌词1、歌词2、你可以找到一个荒岛。3、避免将来生活中的麻烦。4、冬天欠电炉,抱抱手。5、你可以和天空打赌6、再高也是死路一 -
乌镇在哪里乌镇在哪里啊_全球时讯乌镇,位于浙江省嘉兴市桐乡市,地处江浙沪“金三角”之地、杭嘉湖平原腹地,距杭州、苏州均为60公里,距上海106公里。属太湖流域水系,河... -
名牌手表(名牌羽绒服)1、羽绒服品牌有波司登、千仞岗、雪中飞、艾莱依、雅鹿、鸭鸭、雁皇、坦博尔、杰奥等。2、波司登波司登创始于1976年,专注于羽绒服研发、设计 -
世界速看:设施农业1、设施农业,是在环境相对可控条件下,采用工程技术手段,进行动植物高效生产的一种现代农业方式。2、设施农业涵盖设施种植、 -
输入法哪个最好用最简单_输入法哪个最好用-环球播资讯1、如果是专打五笔,可以使用标准版的五笔86版。2、当然,像金山、极品五笔等都可以。3、而且,后者的字库还多一些。4、2 -
我国法律对担保无效民事责任的规定有哪些-天天热头条担保中主合同有效而担保合同无效,债权人无过错的,担保人与债务人对主合同债权人的经济损失,承担连带赔偿责任;债权人,担保人有过错的,担保 -
小沈阳演过的电视剧有哪些_环球今日报1、小沈阳演过的电视剧有:爹妈满院、老兵、乡村爱情圆舞曲、抓紧时间爱2014、谁是真英雄、说书人、战国小兵、乡村爱情变奏曲、不是钱的事、后 -
多囊卵巢综合征能怀孕么_多囊卵巢综合征能自愈吗 全球新动态1、多囊卵巢综合征,如果病情较轻,可以通过改变自己的生活习惯自愈。2、多囊卵巢综合征(PCOS)是一种内分泌紊乱综合征, -
机械工程师报考条件_世界快看点1、大学毕业证书。2、工程师外语培训合格证书。3、计算机应用技术培训合格证明。4、机械工程师“综合素质与技能”考试合格证书。5、参加中... -
小石潭记全文翻译 百度网盘_小石潭记的全文翻译1、一、译文:从小丘向西走一百二十多步,隔着竹林,可以听到水声,就像人身上佩带的佩环相碰击发出的声音,(我)心里感到高兴 -
军信股份拟收购仁和环境并募资15亿 标的九个月盈利3.62亿补齐业务版图 新动态长江商报奔腾新闻记者蔡嘉 停牌多日,军信股份(301109 SZ)重组方案终于出炉。 3月5日晚间,军信股份披露重组预案。上市公司拟通过发行股 -
天天热点!金边白菜是什么菜系1、西北菜,金边白菜是一西北地区传统名菜。此菜非常考验火候。具有酸、辣、咸、辛、鲜五味,口感香脆。2、主料:大白菜(小白口)(350克)调料 -
平均综合赔付率不足50% 个人短期健康险是否会调价?平均综合赔付率不足50%个人短期健康险是否会调价?,财险,险企,健康险,赔付率,保险公司,长城人寿 -
热门看点:社保代理公司1、人人保通过“一站服务,全国办理”的模式为企业 个人提供社保和公积金缴纳服务,以总部北京为中心。2、在上海、杭州、广州 -
山东人办事请客喜欢用“3菜3酒”,真是经典的美酒佳肴,好吃好喝 环球观焦点在不同的地方待客,待客之道是不同的,各有各的风格和特点,无论是在哪个地方,都有自己独特的品味,不同的待客之道和对细节的关注。客户满意 -
石台中学1、安徽省石台中学(AnhuiShitai1966MiddleSchool)是池州市市级示范高中(1998年)、 -
世界热资讯!联想笔记本电脑亮度调节不了怎么回事_联想笔记本亮度无法调节怎么办1、 安装完双显卡驱动后,重启电脑,之后联想Z500笔记本就可以正常调节屏幕亮度了,之后可以使用键盘中的F11键调低屏 -
世界微头条丨3月7日山东汇丰石化集团油品报价上涨产品3月6日3月7日涨跌单位:元 吨0 柴油7700773030元 吨92 汽油861086100元 吨95 汽油876087600元 吨92 乙醇汽油8610 -
【环球新要闻】打新基金是什么意思在A股市场上,投资者可以通过配置股票市值进行打新操作,也可以购买一些基金进行打新操作。打新基金是在新股发行之际,以新股作为投资标的,用 -
popwndexe.exe是什么进程_删除popwndexe的方法分享-世界短讯删除popwndexe的方法11 点击开始菜单,点击运行,在框中输入gpedit msc,点击确定,打开‘组策略’;2 -
天天速递!胎盘植入1、胎盘植入是胎盘组织不同程度侵入子宫肌层的疾病,是产科严重的合并症之一。2、胎盘植入大多发生于子宫内膜损伤后,因为蜕膜 -
蔚来的企业价值观被质疑,车主跟着“抬不起头”蔚来的企业价值观被质疑,车主跟着“抬不起头”,电动车,绿色车辆,企业价值观,蔚来333电动方程式车队 -
宁洱哈尼族彝族自治县气象台发布大雾预警信号黄色预警【Ⅲ级/较重】 世界报道宁洱哈尼族彝族自治县气象台发布大雾预警信号黄色预警【Ⅲ级 较重】 -
英雄联盟哪些是后期英雄英雄联盟后期英雄有武器大师,武器大师是一位后期非常强大的英雄,他有着后期单挑王这个称号,并且武器还有很强的机动能力。无极剑圣,剑圣是 -
带近视眼镜晕是怎么回事_带近视眼镜晕-世界聚焦1、在配镜初期,有些人可能会因为第一次不习惯戴眼镜而感到有点头晕,但一般几天内就会消失,习惯后就会好转。2、如果是长期头 -
灵格风1、灵格风是全球领先的语言培训机构。2、始创于1901年,灵格风拥有100多年的语言培训经验和遍布世界各地的合作伙伴。本
