学会这二十个正则表达式,能让你少些1000行代码!

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9n

正则表达式,是一个强大且高效的文本处理工具。通常情况下,通过一段表达准确的表达式,能够非常简短、快速的实现复杂业务逻辑。

因此,正则表达式通常是一个成熟开发人员的标配,可以辅助实现开发效率的极强提升。

在需要实现校验字段、字符串等内容时,通常就可以通过正则表达式实现:

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

下面是技匠整理的,经常使用到的20个正则表达式。

1校验密码强度


密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

2校验中文


字符串仅能是中文。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

3由数字、26个英文字母或下划线组成的字符串


aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

4校验E-Mail 地址


同密码一样,下面是E-mail地址合规性的正则检查语句。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

5校验身份证号码


下面是身份证号码的正则校验。15 或 18位。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

6校验日期


“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

7校验金额


金额校验,精确到2位小数。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

8校验手机号


下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

9判断IE的版本


IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

10校验IP-v4地址


IP4 正则语句。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

11校验IP-v6地址


IP6 正则语句。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

12检查URL的前缀


应用开发中很多时候需要区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

13提取URL链接


下面的这个表达式可以筛选出一段文本中的URL。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

14文件路径及扩展名校验


验证windows下文件路径和扩展名(下面的例子中为.txt文件)

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

15提取Color Hex  Codes


有时需要抽取网页中的颜色代码,可以使用下面的表达式。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

16提取网页图片


假若你想提取网页中所有图片信息,可以利用下面的表达式。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

17提取页面超链接


提取html中的超链接。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

18查找CSS属性


通过下面的表达式,可以搜索到相匹配的CSS属性。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

19抽取注释


如果你需要移除HMTL中的注释,可以使用如下的表达式。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

20匹配HTML标签


通过下面的表达式可以匹配出HTML中的标签属性。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

正则表达式的相关语法


下面是我找到的一张非常不错的正则表达式 Cheat Sheet,可以用来快速查找相关语法。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9q

学习正则表达式


我在网上看到了一篇相当不错的正则表达式快速学习指南,有兴趣继续深入学习的同学可以参考。

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9w

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

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

相关文章

为啥JAVA虚拟机不开发系统_理解Java虚拟机体系结构

1 概述众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统一的编程接口,而不管下层操作系统是什么。正是得益于Java虚拟机,它号称的“一次编译,到处…

Android WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法

1.理清概念 我们使用过Dialog和PopupWindow,还有Toast,它们都显示在Activity之上。那么我们首先需要理解的是android中是如何去绘制这些UI的呢?这里我只讲我所理解的,首先看一层次图(盗用网络)首先我们看到左边的Activity层&#…

Java集合中的细节

integer数据对比 对于Integer var ? 在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用进行判断,但是这个区间之外的所有数据,都会在堆上产生&…

Android开发系列之屏幕密度和单位转换

由于Android的开源性,所以目前市面上面Android手机的分辨率特别多,这样的话就给我适配带来了一定的难度。要想做好适配,我们首先应该明白什么是分辨率、PPI、屏幕大小等概念,还有在不同的屏幕密度下,各个单位之间的转换…

让机器读懂用户——大数据中的用户画像

让机器读懂用户——大数据中的用户画像 摘要: 用户画像(persona)的概念最早由交互设计之父Alan Cooper提出:“Personas are a concrete representation of target users.” 是指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型。随着互联…

activeMQ在文件上传的应用

本次试验主要用到了activeMq和上传插件uploadify的知识,感谢以下两篇文章的作者。 1.http://itindex.net/detail/47160-java-jquery-%E4%B8%8A%E4%BC%A0 2.http://blog.csdn.net/jiuqiyuliang/article/details/47160259 本文中不再提供activeMq和uploadify的介绍。 …

谢烟客---------Linux之DNS服务系统的基础知识

DNS Domain Name Server1)C/S架构&#xff1a;SOCKET通信IP PORT2&#xff09;应用层协议&#xff1a;资源子网BIND Berkerley Information Name DomainDNS由来1&#xff09;统一名字&#xff0c;自己维护 <自己查询>解析: 基于key查找value: 查询数据库(二维关系的表: …

ES6对象的扩展

1.属性简写表示 2.方法简写表示 属性与方法简写&#xff1a; 3.属性名表达式 ES6允许字面量定义对象时&#xff0c;用方法二&#xff08;表达式&#xff09;作为对象的属性名&#xff0c;即把表达式放在方括号内。 4.Object.is()比较两个值是否严格相等 转载于:https://www.cnb…

Spring Cloud项目MVN编译 -- Non-resolvable import POM

最近利用闲余时间&#xff0c;打算搭建一套基于Spring Cloud G版的微服务架构(Spring boot 2.1.0)&#xff0c;一顿操作之后,IDEA也没有提示什么错误,自认为微服务搭建完毕。启动项目前&#xff0c;习惯性的Maven -clean了一下&#xff0c;我去&#xff0c;IDEA里面的Maven Pro…

mysql windows身份验证_SQL Server 2005 怎么就不能用Windows身份验证方式登录呢?

SQL Server 2005 自从装到我的电脑上始终无法使用Windows身份验证的方式登录,由于使用用户名和密码登录还算顺畅,所以一直忽略了这SQL Server 2005 自从装到我的电脑上始终无法使用Windows身份验证的方式登录,由于使用用户名和密码登录还算顺畅,所以一直忽略了这个问题,直到又有…

NOIP2011 铺地毯

题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯&#xff0c;一共有n张地毯&#xff0c;编号从 1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&…

安全专家教你如何利用Uber系统漏洞无限制的免费乘坐?

本文讲的是安全专家教你如何利用Uber系统漏洞无限制的免费乘坐&#xff1f;&#xff0c;近日&#xff0c;根据外媒报道&#xff0c;美国一名安全研究人员发现Uber上存在一处安全漏洞&#xff0c;允许发现这一漏洞的任何用户在全球范围内免费享受Uber乘车服务。据悉&#xff0c;…

java中同步组件_Java并发编程(自定义同步组件)

并发包结构图&#xff1a;编写一个自定义同步组件来加深对同步器的理解业务要求&#xff1a;* 编写一个自定义同步组件来加深对同步器的理解。* 设计一个同步工具&#xff1a;该工具在同一时刻&#xff0c;只允许至多两个线程同时访问&#xff0c;超过两个线程的* 访问将被阻塞…

算法之旅 | 快速排序法

HTML5学堂-码匠&#xff1a;前几期“算法之旅”跟大家分享了冒泡排序法和选择排序法&#xff0c;它们都属于时间复杂度为O(n^2)的“慢”排序。今天跟大家分享多种排序算法里使用较广泛&#xff0c;速度快的排序算法—— 快速排序法 [ 平均时间复杂度为O (n logn) ]。Tips 1&…

springmvd接收参数问题

问题描述&#xff1a; 好久不写博客了&#xff0c;今天遇到一个问题&#xff0c;那就是post请求时&#xff0c;参数接收不到&#xff0c;当时我很纳闷&#xff0c;看代码&#xff1a; 就是这样几个参数&#xff0c;我使用postman请求时无法获取参数&#xff1a; 报错信息&#…

OpenGL中的二维编程——从简单的矩形开始

一、OpenGL的组成 图元函数&#xff08;primitive function&#xff09;指定要生成屏幕图像的图元。包括两种类型&#xff1a;可以在二维、三维或者四维空间进行定义的几何图元&#xff0c;如多边形&#xff1b;离散实体&#xff1b;位图。属性函数&#xff08;attribute funct…

第38天:运算符、字符串对象常用方法

一、运算符 一元操作符 &#xff0c; --&#xff0c; &#xff0c; - 5 -6 逻辑操作符 !&#xff0c; &&&#xff0c; || 基本运算符 , -, *, /, % 关系操作符 >, <, >, <, , , !, ! 赋值 判断 全等 条件操作符 &#xff08;三…

Redux Todos Example

此项目模板是使用Create React App构建的&#xff0c;它提供了一种简单的方法来启动React项目而无需构建配置。 使用Create-React-App构建的项目包括对ES6语法的支持&#xff0c;以及几种非官方/尚未最终形式的Javascript语法 先看效果 这个例子可以帮助你深入理解在 Redux 中 …

python实现软件的注册功能(机器码+注册码机制)

sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 一、前言&#xff1a;目的&#xff1a;完成已有python图像处理工具的注册功能功能&am…

Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

原文:Win10 UWP开发系列&#xff1a;使用VS2015 Update2ionic开发第一个Cordova App安装VS2015 Update2的过程是非常曲折的。还好经过不懈的努力&#xff0c;终于折腾成功了。 如果开发Cordova项目的话&#xff0c;推荐大家用一下ionic这个框架&#xff0c;效果还不错。对于Cor…