正規表示式的用法和常用例項 2

2022-09-01 15:15:21 字數 2022 閱讀 6814

常用正規表示式

包含中文的(也可以用於排除、不包含中文)的正規表示式:

1

//字串是否包含中文 表示匹配方括號的中任意字元,\u4e00是unicode中漢字的開始,\u9fa5則是unicode中漢字的結束

2var regexp1 = /[\u4e00-\u9fa5]/;

3var str1 = '23dasd哦';

4 console.log(regexp1.test(str1)); //

返回true,包含中文

1

//郵箱位址驗證2//

正則解讀:^[a-za-z\d]表示以英文本母或數字開始,「+」表示匹配前面乙個表示式1次或者多次,等價於 。3//

([-_.][a-za-z\d]+)表示接著中間可以有「-」,「_」,「.」,然後是字母或數字,接下來的「*」表示匹配前乙個表示式(就是括號中的匹配)零次或多次4//

接著匹配郵箱必有的「@」,接下來的([a-za-z\d]+[-.])匹配字元加數字後跟「-」或「.」,比如@163.com中的163. ,5//

最後的[a-za-z\d]$中,「$」表示匹配輸入的結束表示匹配前面的字元至少2次,最多4次,簡單來說就是網域名稱,比如.com中的com,.cn中的cn

6var regexp2 = /^[a-za-z\d]+([-_.][a-za-z\d]+)*@([a-za-z\d]+[-.])+[a-za-z\d]$/;

7var str2 = '[email protected]';

8 console.log(regexp2.test(str2)); //

返回true,郵箱位址正確

包含且只包含數字+字母的正規表示式:

1

//8到16位英文+數字的密碼驗證2//

正則解讀:(?![0-9]+$)表示該位置以後不全是數字,(?![a-za-z]+$)表示該位置以後不全是字母

3var regexp3 = /^(?![0-9]+$)(?![a-za-z]+$)[0-9a-za-z]$/;

4var str3 = 'sdf3255521243';

5 console.log(regexp3.test(str3)); //

返回true

應用場景:鏈結新增a標籤, 搜尋聯想詞高亮

1

//str(要特殊處理的內容):有可能來自使用者輸入,有可能來自介面返回的聯想詞,所以不清楚是否含有需要轉義的字元,如"www.baidu.com?keyword='cnblog'"

這裡將原字串的每乙個字元用「」包裹起來,利用裡的特殊字元不用轉義

5var str1 = str.replace(reg1, '[$1]');

6var reg2 = new regexp(str1, "g");7//

89 str2 = str2.replace(reg2, '' + str + '');

獲取url引數的值:

1//2

var url = '丿浮生若夢';3//

匹配「?」或「&」開頭,「wd=」(wd為要匹配的引數名),「([^&]*)」匹配非&的多個字元,以&結尾或整個字串的結尾

4var reg = new regexp("(\\?|&)wd=([^&]*)(&|$)");5//

window.location.search獲得的是url問號(包括問號)後面的字串

6var arr = window.location.search.match(reg); //

arr[2]為所求引數值(正則第二個括號匹配的值) arr[0]為整個字串7//

如果引數值可能是中文,用decodeuricomponent進行解碼

8 console.log(decodeuricomponent(arr[2]));

常用正規表示式例項

常用正規表示式例項 非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英...

常用的匹配正規表示式和例項

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮點數 ...

python re 正規表示式例項2

usr bin env python coding utf 8 filename file process insert.py function author 劉紅波 date 2012 05 07 import glob import os import re 目標檔案 tab into inse...