亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web正則表達式基礎與常用驗證表達式是什么

發布時間:2022-06-15 09:11:12 來源:億速云 閱讀:135 作者:zzz 欄目:開發技術

這篇文章主要介紹了web正則表達式基礎與常用驗證表達式是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇web正則表達式基礎與常用驗證表達式是什么文章都會有所收獲,下面我們一起來看看吧。

一、正則元字符

是一些在正則表達式中有特殊用途、不代表它本身字符意義的一組字符。

1、 字符元字符

  • […] :匹配列表中的任意字符

  • [^…] :匹配不在列表中的任意字符

  • . :匹配除了回車和換行符之外的任何字符

  • \w :元符號,相當于[a-zA-Z0-9_],匹配任何字母、數字、下劃線字符,這樣的字符也稱為單詞字符

  • \W :元符號,相當于[^a-zA-Z0-9_],匹配除了字母、數字、下劃線字符之外的任何字符

  • \d :元符號,相當于[0-9],匹配任何單個的數字字符

  • \D :元符號,相當于[^0-9],匹配除了數字之外的任何單個字符

  • \s :元符號,匹配空白字符,空白字符是指空格、Tab字符和回車換行符

  • \S :元字符,匹配任何非空白字符

2、重復元字符(量詞)

  • x? :匹配0個或1個x。

  • x+ :匹配1個或多個x。

  • x* :匹配0個或多個x。

  • x{n} :匹配n個x。

  • x{n,} :匹配n個或多個x。

  • x{n,m} :匹配n到m個x。

3、定位元字符

  • ^ :匹配必須出現在字符串的開頭或行的開頭(開頭)

  • $ :匹配必須出現在以下位置:字符串結尾、字符串結尾處的 \n 之前或行的結尾。(結尾)

  • \b :匹配單詞的開始或結束

  • \B :匹配非單詞的開始或結束

  • x(?=y) :正向肯定預查。只有在x后面跟上y時,才匹配x成功。(正向等=)

  • x(?!y) :正向否定預查。只有在x后面不跟著y時,才匹配x成功。 (正向不等!)

  • (?<=x)y:反向肯定預查。只有在y前面跟x時,才匹配y 成功。Javascript不支持。(反向等,為在正向等前加<)

  • (?<!x)y: 反向否定預查。只有在y前面不跟x時,才匹配y 成功。Javascript不支持。(反向不等,為在正向等前加<)

4、分組和替換字符

  • x|y :匹配x或y

  • (sub) :反向引用,將子表達式sub作為一個整體處理,括號的作用相當于代數中括號的作用。并將捕獲的子匹配保存在\1,\2,......和$1,$2,......中。例如:/a(bc)+/中,加號元字符作用在子表達式bc上,它匹配abc、abcbc,但是不匹配a和ac

  • (?:sub) :分組子模式,但是不捕獲子模式。它的作用與(sub)類似,稱為無記憶匹配

  • \1,\2,\3,... :在正則表達式中,分別包含與正則表達式中第一個反向引用、第二個反向引用、第三個反向引用...相匹配的子串

  • $1,$2,$3,... :在替換中,分別包含與正則表達式中第一個反向引用、第二個反向引用。第三個反向引用...相匹配的子串

5、特殊字符

特殊字符是指那些不容易進行直接書面表達或不容易直接使用鍵盤輸入的字符。

  • \0 :匹配null字符,對應的十六進制值為\x00

  • \b :匹配退格字符,對應的十六進制值為\x08

  • \n :匹配換行字符,對應的十六進制值為\x0A

  • \r :匹配回車字符,對應的十六進制值為\x0D

  • \f :匹配換頁字符,對應的十六進制值為\x0C

  • \t :匹配制表(TAB)字符,同時對應于水平制表符\x09和垂直制表符\x0B

  • \xhh :匹配用2個十六進制數字表示的字符

  • \uhhhh :匹配用4個十六進制在數字表示的字符,這些字符是Unicode字符。[\u4e00-\u9fa5] 匹配任意一個漢字

  • \cchar :匹配命名的控制字符

6、需要轉義的字符

. * + ( ) $ / \ ? [ ] ^ { } - ! < >

7、貪婪與非貪婪匹配

  • 貪婪匹配:正則表達式一般趨向于最大長度匹配,也就是所謂的貪婪匹配。 
    如使用模式 "ab.*c" 匹配字符串"abcaxc";,結果就是匹配到:abcaxc。

  • 非貪婪匹配:就是匹配到結果就好,就少的匹配字符。 
    如使用模式 "ab.*?c" 匹配字符串"abcaxc",結果就是匹配到:abc。

默認是貪婪模式;在量詞后面直接加上一個問號?就是非貪婪模式。如:*?

8、常見正則表達式

[1-9]?[0-9]|100 :匹配0-100的數字

\n[\s| ]*\r :匹配空行的正則表達式

二、正則表達式應用舉例

1、驗證表達式

只能輸入數字:"^[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]+$"。或&hellip;^[\W]$ 
只能輸入由數字、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}$" 正確格式為:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。 
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。 
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。 
驗證全角字符: “^\uFF00-\uFFFF” 
匹配雙字節字符(包括漢字在內):[^\x00-\xff] 
匹配空行的正則表達式:\n[\s| ]*\r 
匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
匹配首尾空格的正則表達式:(^\s*)|(\s*$) 
匹配IP地址的正則表達式: (\d+)\.(\d+)\.(\d+)\.(\d+)

vs中批量操作

(按ctrl+H 選上正則表達式)

  • 刪除注釋 ://.* 替換為空。

  • 刪除空行:^\s*\n 替換成空。

三、文件夾中的文件內容正則批量替換

1、使用VSCode文件替換(使用JS引擎)

在VSCode中,使用正則表達式,將網頁中的font元素批量更換成font元素

<font (.*?")>((\n|.)*?)</font>

替換成:

<span $1>$2</span>

web正則表達式基礎與常用驗證表達式是什么

2、文件夾中的文件內容正則批量替換

下載小工具:ReplaceAll

web正則表達式基礎與常用驗證表達式是什么

關于“web正則表達式基礎與常用驗證表達式是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“web正則表達式基礎與常用驗證表達式是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

汶上县| 颍上县| 日照市| 九寨沟县| 天等县| 湘乡市| 安远县| 门头沟区| 广汉市| 高青县| 米林县| 休宁县| 会理县| 和顺县| 新干县| 丁青县| 伊金霍洛旗| 平远县| 紫阳县| 桦甸市| 如东县| 漳州市| 涪陵区| 平南县| 浦北县| 湘乡市| 诏安县| 松阳县| 武义县| 昌平区| 彭阳县| 西和县| 赫章县| 安福县| 喀喇沁旗| 托克逊县| 陆河县| 康保县| 乐陵市| 日土县| 高阳县|