学会这二十个正则表达式,能让你少些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,一经查实,立即删除!

相关文章

mergesort_Mergesort算法的功能方法

mergesortby Joe Chasinga通过乔查辛加(Joe Chasinga) Mergesort算法的功能方法 (A functional approach to mergesort algorithm) Algorithms are often difficult for people to understand. I believe that this is because they are most often programmed or explained i…

循环内部异步函数处理相关问题解析

需求分析:根据一级标题ID筛选出所有对应的二级标题,返回一级标题ID,标题名和二级标题ID,标题名组成的数组 问题:通过forEach遍历所有一级标题取对应的ID,根据ID条件查找所有的二级标题,遍历符合…

nacos怎么修改服务分组_Nacos(六):多环境下如何“管理”及“隔离”配置和服务...

前言前景回顾:现如今,在微服务体系中,一个系统往往被拆分为多个服务,每个服务都有自己的配置文件,然后每个系统往往还会准备开发环境、测试环境、正式环境我们来说算一算,假设某系统有10个微服务&#xff0…

Hive_Hive的数据模型_内部表

Hive的数据模型_内部表 - 与数据库中的Table在概念上是类似。- 每一个Table在Hive中都有一个相应的目录存储数据。- 所有的Table数据(不包括External Table)都保存在这个目录中。 create table t1 (tid int, tname string, age int);create table t2 (tid int, tname string, a…

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

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

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

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

leetcode面试题 04.03. 特定深度节点链表(bfs)

给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。示例:输入:[1,2,3,4,5,null,7…

Java集合中的细节

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

css扩展语言_如何决定是否应该链接或扩展CSS类

css扩展语言by Sarah Dayan通过莎拉达扬 如何决定是否应该链接或扩展CSS类 (How to decide whether you should chain or extend CSS classes) If you’re building an app or a website that changes often, modular CSS methods solve many issues. Instead of copying your…

vue 是否有word编辑控件_GitHub - C84882428/editor-ui: vue集成 tinymce 富文本编辑器,增加导入 word 模板...

editor-uivue 集成 tinymce 富文本编辑器自定义 tinymce 富文本编辑器,在原来的编辑器中增加上传 word 模板最终展示效果:主要代码:整体思路:1,在编辑器原来的基础上增加上传模板按钮2, 前端上传 word 模板3, 服务端接收将 word 转换为html 返回前端4, 前端拿到服务端返回的值,…

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

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

java集合AbstractMap_Java 集合中的 AbstractMap 抽象类

Java 集合中的 AbstractMap 抽象类jdk1.8.0_144AbstractMap 抽象类实现了一些简单且通用的方法, 本身并不难但在这个抽象类中有两个方法非常值得关注, keySet 和 values 方法源码的实现可以说是教科书式的典范抽象类通常作为一种骨架实现, 为各自子类实现公共的方法上一篇我们讲…

leetcode392. 判断子序列(动态规划)

给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长&#xff08;长度 ~ 500,000&#xff09;&#xff0c;而 s 是个短字符串&#xff08;长度 <100&#xff09;。 字符串的一个子序列是原始字符串删…

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

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

asp.net应用程序_如何在ASP.NET中为聊天应用程序构建键入指示器

asp.net应用程序by Neo Ighodaro由新Ighodaro 如何在ASP.NET中为聊天应用程序构建键入指示器 (How to build a typing indicator for your chat app in ASP.NET) A basic understanding of ASP.NET and jQuery is needed to follow this tutorial.要学习本教程&#xff0c;需要…

activeMQ在文件上传的应用

本次试验主要用到了activeMq和上传插件uploadify的知识&#xff0c;感谢以下两篇文章的作者。 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的介绍。 …

java nginx 例子_Java及nginx实现文件权限控制代码实例

我们知道&#xff0c;使用nginx作为文件下载服务器&#xff0c;可以极大地降低对后端Java服务器的负载冲击&#xff0c;但是nginx本身并不提供授权控制&#xff0c;因此好的方案是由后端服务器实现权限控制&#xff0c;最好的方式是直接复用应用的认证体系&#xff0c;最大化的…

leetcode934. 最短的桥(dfs+bfs)

在给定的二维二进制数组 A 中&#xff0c;存在两座岛。&#xff08;岛是由四面相连的 1 形成的一个最大组。&#xff09; 现在&#xff0c;我们可以将 0 变为 1&#xff0c;以使两座岛连接起来&#xff0c;变成一座岛。 返回必须翻转的 0 的最小数目。&#xff08;可以保证答…

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

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

Java实现点击导出excel页面遮罩屏蔽,下载完成后解除遮罩

一、问题场景 最近在做数据统计功能&#xff0c;需求是导出大数据量的excel&#xff0c;时间间隔较长&#xff0c;大概需要十秒左右&#xff0c;点击导出后&#xff0c;页面没有做任何处理&#xff0c;用户也不知道是否正在导出&#xff1b;如果没有做交互上的限制&#xff0c;…