學會這二十個正則表達式,能讓你少些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.pswp.cn/news/394084.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394084.shtml
英文地址,請注明出處:http://en.pswp.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;…