您的位置:首页 >资讯 > 热点 >

study - 一文入门正则表达式-环球短讯

2023-03-08 11:58:22    来源:腾讯云

正则表达式是什么

校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。


(资料图片仅供参考)

正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。

元字符

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}$

标签:

相关阅读

精彩放送

浏览网页字体大小怎么调_网页字体大小怎么调_实时焦点

世界志愿者日是哪一天-全球热文

每日看点!WTA最新排名:王蔷稳居第20张帅下滑4位,郑赛赛逼近top40!

minecraftic2(minecraft1 4 2)

四川大英县

尚金梅:高空“铁皮厢”中的坚守

关于印发2023年河北省春季流行性感冒中医药防治方案的通知

固态硬盘十大品牌排名_固态硬盘十大品牌_环球热文

凯撒大帝3秘籍是什么?游戏凯撒大帝手机能玩吗?

全国人大常委会工作报告谈监督和代表工作_今日热议

全国政协十四届一次会议举行第二次全体会议

金价成功守住关键支撑!黄金日内交易分析:金价料还有逾30美元大涨空间 环球快资讯

冰箱冷藏不制冷是什么原因?冰箱不制冷自己能修吗?

汽车大灯有雾气怎么处理比较好?大灯起雾4s店一般怎么处理?

世界最资讯丨易极:3-7原油回踩80.43多纳指12280多

技术面发出看涨信号!白银日内交易分析:若攻克首个目标 银价料再大涨逾3% 热资讯

速读:2023全国两会|创意动画:当年画娃娃有了“管法”的宝典

蚕丝被怎么鉴别真假?6斤蚕丝被要多少钱?

昆虫记被誉为什么?昆虫记是一部什么著作类型?

蒲公英的花语是什么?蒲公英什么时候开花?

回族的节日有哪些?回族的来源和历史相关介绍

今日最新!易极:3-7黄金回落1842.00区域做多

外汇界新一:鲍威尔会让黄金怎么走呢?

中国第一个乒乓球冠军是谁?乒乓球什么时候传入中国?

石头上怎么会有贝壳?石头上的贝壳叫什么?

关于印发2023年河北省春季流行性感冒中医药防治方案的通知

上巳节是哪天是什么时候?2023年上巳节可以结婚吗?

2023春季婚博会在京开幕,百合婚礼拉满浪漫氛围

马桶底部漏水怎么弄?马桶地面接缝处漏水怎么办?

保鲜膜能加热吗?保鲜膜pe好还是pvc好?

杨梅要怎么洗干净才能吃?杨梅冻了半年还能吃吗?

雪媚娘皮是开水蒸还是冷水?雪媚娘的皮为什么蒸出来很稀?

冬天汽车开暖风到底费不费油?车子没关窗进了雨水怎么处理?

秋分是什么意思啊预示着什么?秋分日太阳照射在哪里?

她们的时刻 | 专访:H&M大中华区电子商务、市场营销和传播经理Alexandra Duca

华为t552怎么样?华为T552是智能手机吗?

HTC钻石2代短信收不到也发不出怎么办?手机无法发送短信的处理方法? 滚动

天天关注:联想笔记本g470e怎么样?联想g470i5版配置如何?

三星galaxy sii怎么样?三星galaxy sii上市价多少? 环球快讯

世界速递!汇聚发展的信心和力量

内存价格大涨 为什么内存条涨价厉害?

微资讯!HTC one这系列共有多少个型号?哪个性能好?

索尼s930相机怎么样?索尼s930相机配置如何?|观热点

当前通讯!韩国国旗的来历是什么?国民政府和民国政府有什么不同?

联想A820t怎么样?联想A820T手机配置如何?

小天鹅的洗衣机怎么样?小天鹅洗衣机质量好不好?

观热点:小米v5稳定版怎么样?小米V5系统稳定版和开发版各有什么好处和坏处?

从这些数字看中国十年之变

焦点简讯:夏普SH8128U有什么优缺点?夏普SH8128U怎么样?

秦刚:中欧关系不针对、不依附、也不受制于第三方

世界快看:秦刚:构建新时代中日关系,要言而有信,以史为鉴,维护秩序,互利共赢

秦刚:中国愿做中东安全稳定的促进者、发展繁荣的合作者、团结自强的推动者-世界速看料

秦刚:当豺狼挡道、恶狼来袭,中国外交官必须“与狼共舞”,保家卫国

世界百事通!【新闻特写】让青春在新时代绽放绚丽之花

国家发展改革委:今年拟安排中央预算内投资6800亿元_环球讯息

天天短讯!黄河口 河海交汇处,湿地气象新(美丽中国·大美湿地④)

直通两会 | 新能源汽车成消费增长和产业发展新亮点

足协将选拔2006至2010年龄段优秀球员 方式公布|今日视点

直通两会 | 老旧小区人居环境提升 配套设施全面“焕新”

【新视野】秦刚:冲突、制裁、施压解决不了问题,现在需要的是冷静、理智、对话

固态硬盘十大品牌排名_固态硬盘十大品牌_环球热文

黄河口 河海交汇处,湿地气象新(美丽中国·大美湿地④)

IP联名彩绘来了!大师贴膜携和平精英车身彩绘重磅亮相深圳九州展

万里长征人未还的上一句_时讯

北京链家安心服务承诺累计退赔垫付逾11亿元 踏踏实实做品质 助力行业正循环

许凡:非农前市场调整状态,黄金短线关注1842支撑,白银区间不变

易维哲:黄金有可能走延续下行,原油短期偏强-环球百事通

天天即时:大道大道至简雏鹰展翅篇二:解决平仓/出场如何止盈(一)

环球热资讯!长安期货贵金属早评:欧央行官员释放鹰派信号,贵金属期价或承压运行-

简讯:金都城:多空轮转,日内留意下行走阴!

图灵波浪3.7-黄金调整已将到位、多头将再次登场

中国外交按下加速键吹响集结号 速递

秦刚:世界越是动荡不安,中俄关系越应稳步向前

方萍萍:2023年03月07日黄金交易策略

小i机器人成长史,“智能机器将改变每一个行业“

天天观察:杜康:黄金回调支撑,早盘1845现价多!

财盛国际:权衡能源需求前景 原油收复早盘跌幅集体收涨-天天快讯

张良点金:早间黄金现价1846.5做多!

【环球播资讯】【权威部门话开局】国家发改委:着力推动高质量发展

Nokia Asha 202和Nokia 2020是一个型号吗?诺基亚Asha系统和安卓i0S相比有什么优缺点?

精选!【孤魂黄金】黄金继续关注均线的变位过程

环球今日讯!疯狂上市!2月推出102款新车怎么买?盘点2月上市新能源车

联想ideapadz470笔记本参数是多少?联想z470笔记本的详细参数介绍? 天天讯息

当前热议!印度再禁54款中国APP?禁用软件APP有哪些?

简讯:symbian 3操作系统是什么东西?Symbian 3与symbian s60有什么不同?

三星galaxy_siii报价是多少?三星I9300及GALAXY及SIII报价介绍?

【世界时快讯】技嘉主板官网如何验证?在哪里可以进行正品验证?

小米3手机怎么样?小米3手机配置如何?

海尔冰箱价格是多少?海尔报价介绍?_全球今头条

小米3S什么时候上市?小米3s上市时间?

老人头参加小红书will商业大会

今日视点:三星s4 9500和9508到底有什么区别?华为9508怎么样?

大空头逐渐到来,发家致富奢侈人生,你准备好了吗? 环球热议

原油 关注区间上沿压力

外资怎么引?外贸怎么稳?从三个报告看推进高水平开放

头狼:黄金阴线杀跌,1852调整干空_每日消息

隔壁老杨:这种做好多观望的准备

“金三”成色值得期待

速递!沪铜 消费景气度改善成关键

金汇得手:黄金1850日内多分水  高空低多操作

代表委员议政录丨提高学习力、创造力、适应力,应对岗位需求——代表委员建言促进青年就业

我国印发计量工作阶段性行动计划|世界快资讯

多家网站平台发布防网暴指南|全球新动态

霉女大作战

环球实时:“大商所企风计划”惠及304家实体

燃料油多头优势减弱

我国印发计量工作阶段性行动计划

年薪百万,只需陪聊,ChatGPT 正在带起一种很新的职业