国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

正則表達式基本語法和常用的正則表達式

開發 前端
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。

 

正則表達式基本語法和常用的正則表達式

在線正則表達式測試:

概念

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。

給定一個正則表達式和另一個字符串,我們可以達到如下的目的:

1. 給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”);

2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分。

正則表達式的特點是:

1. 靈活性、邏輯性和功能性非常的強;

2. 可以迅速地用極簡單的方式達到字符串的復雜控制。

正則表達式基本語法

兩個特殊的符號^和$。他們的作用是分別指出一個字符串的開始和結束。例子如下:

  • ^The:表示所有以”The”開始的字符串(”There”,”The cat”等);
  • of despair$:表示所以以”of despair”結尾的字符串;
  • ^abc$:表示開始和結尾都是”abc”的字符串——呵呵,只有”abc”自己了;
  • notice:表示任何包含”notice”的字符串。

像最后那個例子,如果你不使用兩個特殊字符,你就在表示要查找的串在被查找串的任意部分——你并不把它定位在某一個頂端。

其它還有*,+和?這三個符號,表示一個或一序列字符重復出現的次數。它們分別表示”沒有或更多”,”一次或更多”還有”沒有或一次”。下面是幾個例子:

  • ab*:表示一個字符串有一個a后面跟著零個或若干個b。(”a”, “ab”, “abbb”,……);
  • ab+:表示一個字符串有一個a后面跟著至少一個b或者更多;
  • ab?:表示一個字符串有一個a后面跟著零個或者一個b;
  • a?b+$:表示在字符串的末尾有零個或一個a跟著一個或幾個b。

你也可以使用范圍,用大括號括起,用以表示重復次數的范圍。

  • ab{2}:表示一個字符串有一個a跟著2個b(”abb”);
  • ab{2,}:表示一個字符串有一個a跟著至少2個b;
  • ab{3,5}:表示一個字符串有一個a跟著3到5個b。

請注意,你必須指定范圍的下限(如:{0,2}而不是{,2})。還有,你可能注意到了,*,+和?相當于{0,},{1,}和{0,1}。

還有一個|,表示“或”操作:

  • hi|hello:表示一個字符串里有”hi”或者”hello”;
  • (b|cd)ef:表示”bef”或”cdef”;
  • (a|b)*c:表示一串”a”“b”混合的字符串后面跟一個”c”;

.可以替代任何字符:

  • a.[0-9]:表示一個字符串有一個”a”后面跟著一個任意字符和一個數字;
  • ^.{3}$:表示有任意三個字符的字符串(長度為3個字符);

方括號表示某些字符允許在一個字符串中的某一特定位置出現:

  • [ab]:表示一個字符串有一個”a”或”b”(相當于a|b);
  • [a-d]:表示一個字符串包含小寫的’a’到’d’中的一個(相當于a|b|c|d或者[abcd]);
  • ^[a-zA-Z]:表示一個以字母開頭的字符串;
  • [0-9]%:表示一個百分號前有一位的數字;
  • ,[a-zA-Z0-9]$:表示一個字符串以一個逗號后面跟著一個字母或數字結束。

你也可以在方括號里用^表示不希望出現的字符,^應在方括號里的第一位。

(如:%[^a-zA-Z]%表示兩個百分號中不應該出現字母)。

為了逐字表達,你必須在^.$()|*+?{這些字符前加上轉移字符。

請注意在方括號中,不需要轉義字符。

一、校驗數字的表達式

1 數字:^[0-9]*$

2 n位的數字:^d{n}$

3 至少n位的數字:^d{n,}$

4 m-n位的數字:^d{m,n}$

5 零和非零開頭的數字:^(0|[1-9][0-9]*)$

6 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$

7 帶1-2位小數的正數或負數:^(-)?d+(.d{1,2})?$

8 正數、負數、和小數:^(-|+)?d+(.d+)?$

9 有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$

10 有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$

11 非零的正整數:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?[1-9][0-9]*$

12 非零的負整數:^-[1-9][]0-9"*$ 或 ^-[1-9]d*$

13 非負整數:^d+$ 或 ^[1-9]d*|0$

14 非正整數:^-[1-9]d*|0$ 或 ^((-d+)|(0+))$

15 非負浮點數:^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

16 非正浮點數:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$

17 正浮點數:^[1-9]d*.d*|0.d*[1-9]d*$ 或 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$

18 負浮點數:^-([1-9]d*.d*|0.d*[1-9]d*)$ 或 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$

19 浮點數:^(-?d+)(.d+)?$ 或 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$

二、校驗字符的表達式

1 漢字:^[\u4e00-\u9fa5]{0,}$

2 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

3 長度為3-20的所有字符:^.{3,20}$

4 由26個英文字母組成的字符串:^[A-Za-z]+$

5 由26個大寫英文字母組成的字符串:^[A-Z]+$

6 由26個小寫英文字母組成的字符串:^[a-z]+$

7 由數字和26個英文字母組成的字符串:^[A-Za-z0-9]+$

8 由數字、26個英文字母或者下劃線組成的字符串:^w+$ 或 ^w{3,20}$

9 中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$

10 中文、英文、數字但不包括下劃線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

11 可以輸入含有^%&’,;=?$”等字符:[^%&',;=?$\x22]+

12 禁止輸入含有~的字符:[^~\x22]+

三、特殊需求表達式

1 Email地址:^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$

2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

3 InternetURL:[a-zA-z]+://[^s]* 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$

4 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$

5 電話號碼:("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^((d{3,4}-)|d{3.4}-)?d{7,8}$

6 國內電話號碼:(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}

7 身份證號(15位、18位數字):^d{15}|d{18}$

8 短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

9 帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

10 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]w{5,17}$

11 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間):^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

12 日期格式:^d{4}-d{1,2}-d{1,2}

13 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$

14 一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

15 錢的輸入格式:

16 1.有四種錢的表示形式我們可以接受:”10000.00” 和 “10,000.00”, 和沒有 “分” 的 “10000” 和 “10,000”:^[1-9][0-9]*$

17 2.這表示任意一個不以0開頭的數字,但是,這也意味著一個字符”0”不通過,所以我們采用下面的形式:^(0|[1-9][0-9]*)$

18 3.一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$

19 4.這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$

20 5.必須說明的是,小數點后面至少應該有1位數,所以”10.”是不通過的,但是 “10” 和 “10.2” 是通過的:^[0-9]+(.[0-9]{2})?$

21 6.這樣我們規定小數點后面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$

22 7.這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

23 8.1到3個數字,后面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

24 備注:這就是最終結果了,別忘了”+”可以用”*”替代如果你覺得空字符串也可以接受的話(奇怪,為什么?)最后,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里

25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$

26 中文字符的正則表達式:[\u4e00-\u9fa5]

27 雙字節字符:[^\x00-\xff](包括漢字在內,可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1))

28 空白行的正則表達式: s* (可以用來刪除空白行)

29 HTML標記的正則表達式:<(S*?)[^>]*>.*?|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對于復雜的嵌套標記依舊無能為力)

30 首尾空白字符的正則表達式:^s*|s*$或(^s*)|(s*$) (可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式)

31 騰訊QQ號:[1-9][0-9]{4,}(騰訊QQ號從10000開始)

32 中國郵政編碼:[1-9]d{5}(?!d) (中國郵政編碼為6位數字)

33 IP地址:d+.d+.d+.d+ (提取IP地址時有用)

34 校驗IP-v4地址\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b

35 校驗IP-v6地址

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

 

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2010-07-28 11:06:41

Flex正則表達式

2010-07-13 17:03:53

Perl正則表達式

2020-09-04 09:16:04

Python正則表達式虛擬機

2024-09-14 09:18:14

Python正則表達式

2009-06-24 11:24:23

JavaScript驗正則表達式

2016-11-10 16:21:22

Java 正則表達式

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2009-09-16 17:15:57

正則表達式引擎

2023-09-13 08:12:45

2010-03-25 18:25:36

Python正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2017-05-12 10:47:45

Linux正則表達式程序基礎

2019-07-17 15:45:47

正則表達式字符串前端

2009-09-16 18:19:34

正則表達式組

2009-02-18 09:48:20

正則表達式Java教程

2011-06-02 12:34:16

正則表達式

2022-03-28 06:19:14

正則表達式開發

2021-07-14 23:54:01

正則表達式數據

2009-08-07 14:24:31

.NET正則表達式

2023-09-04 15:52:07

點贊
收藏

51CTO技術棧公眾號

久热这里只精品99re8久| 日韩av资源在线| 国产精品视频一区视频二区 | 性欧美精品孕妇| 成人黄色综合网站| 亚洲iv一区二区三区| 国产精品久久久久77777丨| 色综合久久综合网97色综合| 男女男精品视频站| 极品少妇xxxx精品少妇| 国产一区二区黄色| 欧美日韩中文一区二区| 久久久国产精彩视频美女艺术照福利| 成人免费网址| 一本色道久久加勒比精品| 日韩限制级电影在线观看| 岛国视频一区| 亚洲三级视频网站| 亚洲欧美综合网| 韩国日本不卡在线| 日韩中文在线播放| 精品久久一区二区| 在线观看免费网站黄| 日韩欧美极品在线观看| jizz国产| 国产精品白丝在线| 91在线视频观看免费| 91网站在线播放| 精品人妻少妇一区二区| 久久精品99国产精品| 四虎一区二区| 肉色丝袜一区二区| 亚欧精品在线| 日韩avvvv在线播放| 欧美自拍资源在线| 亚洲精品免费观看| 国外成人免费视频| 一区二区黄色| 欧美激情国产日韩| 免费在线播放第一区高清av| 欧美久久久影院| 亚洲伊人色欲综合网| 成人网站免费观看入口| 国产成人在线视频网站| 亚洲天堂第一区| 国产激情一区二区三区| 成年女人18级毛片毛片免费| 成人三级在线视频| 少妇高清精品毛片在线视频 | 在线观看免费观看在线91| 国产欧美精品区一区二区三区| 女同性恋一区二区| 成人中文字幕在线| 国产精品乱码久久久久| 国产精品二三区| 久久国产情侣| 欧洲另类一二三四区| 日韩欧美小视频| 日韩精品免费一线在线观看| 日韩欧美一区二区三区在线观看 | 北岛玲一区二区三区| 欧美三级电影在线观看| 手机av在线播放| 永久免费毛片在线播放不卡| 成人乱码手机视频| 午夜精品美女自拍福到在线| 日韩精品免费| 精品一区久久| 狠狠色丁香婷综合久久| 男人天堂999| 夜夜爽夜夜爽精品视频| 色哟哟免费在线观看 | 香蕉国产在线| 日韩一级片网址| a∨色狠狠一区二区三区| 欧美中文在线观看| 在线欧美日韩| 国产免费裸体视频| 玉足女爽爽91| 青草影视电视剧免费播放在线观看| 亚洲午夜精品久久久久久久久久久久 | 久久久亚洲国产美女国产盗摄| 日本xxxx黄色| 日本国产一区二区| 欧美二三四区| 国产精品网站大全| 日韩av电影天堂| 黄网站免费入口| 欧美mv日韩mv| 日韩在线观看一区二区三区| 96sao精品视频在线观看| 国产精品77777| 伊人永久在线| 亚洲最新在线视频| 综合久久亚洲| 六月丁香婷婷在线| 欧美三级在线看| 精品入口麻豆88视频| 精品国产一区二区三区麻豆小说| 岛国av在线一区| 九色视频成人自拍| 久色乳综合思思在线视频| 欧美国产激情| 成人观看免费完整观看| 91精品国产福利| 婷婷精品在线观看| 99re99热| 日本韩国欧美国产| 成人在线视频www| 精品一区在线播放| 亚洲日本护士毛茸茸| 超碰一区二区| 精品午夜一区二区| 亚洲欧美在线高清| 2020国产在线| 91大片在线观看| 久久精品夜色噜噜亚洲a∨| 大桥未久在线播放| 亚洲aaa激情| 亚洲图片激情小说| 亚洲一区二区三区四区| 国产一区高清视频| 亚洲免费观看高清在线观看| 国产v综合v| 日韩av电影在线观看| 色综合久久久久综合体桃花网| caoporn成人免费视频在线| 7777在线视频| 欧美一区二区成人| 888久久久| 三级黄色网址| 久久青草精品视频免费观看| 国产精品资源网| 激情av在线播放| 国产精品久久久久久久小唯西川| 国产精品久久久久永久免费观看| 日本一区免费网站| 91精品国产吴梦梦| 精品久久久久久亚洲综合网 | 99精品免费在线观看| 精品丝袜一区二区三区| 男人的天堂亚洲| 国产午夜在线观看| 国产精品香蕉av| 亚洲欧美另类久久久精品2019| 高清不卡一区| 尤物av无码色av无码| 有码中文亚洲精品| 国产凹凸在线观看一区二区| 擼擼色在线看观看免费| 亚洲综合网中心| 日韩高清av一区二区三区| 视频一区二区三区入口| 巨大荫蒂视频欧美另类大| 国产一区二区无遮挡| 在线不卡欧美精品一区二区三区| 欧美韩国一区| 免费动漫网站在线观看| 高清av免费一区中文字幕| 欧洲国产伦久久久久久久| 国内激情久久| 国产美女在线观看| 图片区小说区区亚洲五月| 精品国产乱子伦一区| 久久国产欧美日韩精品| 小草在线视频免费播放| 成人在线播放网址| 日韩视频一区在线| 国产女人18水真多18精品一级做| 国产成人在线中文字幕| 久久久久久77777| 亚洲自拍在线观看| 日韩一区二区麻豆国产| 国产一区三区三区| 精品国产亚洲日本| 黄网站色大毛片| 91免费版网站在线观看| 欧美一三区三区四区免费在线看| 蜜桃一区二区三区在线观看| 外国电影一区二区| 国产视频97| 99久久国产免费免费| 精品欧美一区二区久久| 成人av综合在线| 日韩超碰人人爽人人做人人添| 男女激情片在线观看| 久久大香伊蕉在人线观看热2| 亚洲国产高清福利视频| www国产精品av| 日韩精品一区二区三区免费观影 | 在线免费观看av网站| 国产精品一区二区三区四区五区| 日韩一区二区三区在线观看| 成人免费视频一区| 精品久久久久久久| 日皮视频在线观看| wwww.国产| 精品亚洲第一| 久久久精品一区二区| 亚洲综合免费观看高清完整版在线 |