JavaScript筆記(正規表示式)

2021-08-19 07:54:44 字數 3545 閱讀 1668

pyregex:

regexper:

檢查文字中是否含有指定的特徵詞

找出文中匹配特徵詞的位置

從文字中提取資訊,比如:字串的子串

修改文字

描述

\轉義符

(), (?:), (?=),

圓括號和方括號

*, +, ?, , ,

限定符^, $, \anymetacharacter

位置和順序

匹配[...]

方括號內的任意字元

1不在方括號內的任意字元

.除了換行符和其他unicode行終止符之外的任意字元

\w任何ascii字元組成的單詞,等價於[a-za-z0-9]

\w任何不是ascii字元組成的單詞,等價於2

\s任何unicode空白符

\s任何非unicode空白符的字元

\d任何ascii數字,介於[0-9]

\d除了ascii數字之外的任何字元,等價於3

\b退格直接量

匹配匹配前一項至少n次,但不能超過m次

匹配前一項n次或更多次

匹配前一項n次

?匹配前一項0次或者1次,也就是說前一項是可選的,等價於

+匹配前一項1次或多次,等價於

*匹配前一項0次或多次,等價於匹配$

匹配字串的結尾,在多行檢索中,匹配一行的結尾

^匹配字串的開頭,在多行檢索中,匹配一行的開頭

\a只有匹配字串開始處

\b匹配單詞邊界,詞在 內時無效

\b匹配非單詞邊界

\g匹配當前搜尋的開始位置

\z匹配字串結束處或行尾

\z只匹配字串結束處

匹配情況

(string)

用於反向引用的分組

\1 或$1

匹配第乙個分組中的內容

\2 或$2

匹配第二個分組中的內容

\3 或$3

匹配第三個分組中的內容

字元      含義

i 執行不區分大小寫的匹配

g 執行乙個全域性匹配,即找到所有匹配而非一次匹配

m 多行匹配模式,^匹配一行的開頭和字串開頭,$匹配行的結束和字串的結尾

test

():檢索字串中的指定值。返回值是布林值。

exec

():返回乙個陣列,陣列中的第乙個條目是第乙個匹配,其他的是反向引用

compile

() 既可以改變檢索模式,也可以新增或刪除第二個引數。

含義

match(pattern)

返回 pattern 中的子串或 null

replace(pattern, replacement)

用 replacement 替換 pattern

search(pattern)

返回字串中 pattern 開始位置

split(pattern)

返回字串按指定 pattern 拆分的陣列

/expression/
"expression"
//匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線
var re =new

regexp("^[a-za-z][a-za-z0-9_]$");

`if(re.test(aaaa))else

/*使用 match 方法獲取獲取匹配陣列*/ 

var pattern = /box/ig;//全域性搜尋

var str = 'this is a box!,that is a box too';

alert(str.match(pattern)); //匹配到兩個 box,box

console.log(str.match(pattern).length);//獲取陣列的長度

/*使用 search 來查詢匹配資料*/

var pattern = /box/ig;

var str = 'this is a box!,that is a box too';

console.log(str.search(pattern));//查詢到返回位置,否則返回 -1

/*使用 replace 替換匹配到的資料*/

var pattern = /box/ig;

var str = 'this is a box!,that is a box too';

console.log(str.replace(pattern, 'cat'));//將 box 替換成了 cat

/*使用 split 拆分成字串陣列*/

var pattern = / /ig;

var str = 'this is a box!,that is a box too';

console.log(str.split(pattern));//將空格拆開分組成陣列

/* 統計子字串出現的所有位置*/

function

count(str)

}count('abcdefabcdefabcdefabcdef');

[ 'def', index: 3, input: 'abcdefabcdefabcdefabcdef' ]

[ 'def', index: 9, input: 'abcdefabcdefabcdefabcdef' ]

[ 'def', index: 15, input: 'abcdefabcdefabcdefabcdef' ]

[ 'def', index: 21, input: 'abcdefabcdefabcdefabcdef' ]

"into".match(/in | int/);
\ / [ ] ()   ? + * | . ^ $
\f : 換頁符

\n : 換行符

\r : 回車符

\t : 製表(tab)符

\^ 匹配 ^ 符號本身

\$ 匹配 $ 符號本身

\. 匹配小數點(.)本身

string.prototype.trim = function () ;
^[a-za-z]+$  //匹配由26個英文本母組成的字串

^[a-z]+$  //匹配由26個英文本母的大寫組成的字串

^[a-z]+$  //匹配由26個英文本母的小寫組成的字串

^[a-za-z0-9]+$  //匹配由數字和26個英文本母組成的字串

^\w+$  //匹配由數字、26個英文本母或者下劃線組成的字串

javascript 正規表示式筆記錄

在js中,正規表示式由regexp物件標示,也可以用regexp 函式來建立。正規表示式是定義在 之間。s 匹配以s結尾的字串,標示結尾的意思。在正規表示式中有些字元具有特殊的含義。在匹配的表示式中 abc 匹配a,b,c中任意乙個 abc 不匹配其中任意乙個 a z 匹配小寫字母 a z0 9 匹...

JavaScript正則驗證函式

1 驗證年齡格式 年齡只能0 99,兩位數 2 控制文字框只能輸入數字 3 驗證字串是否只包含數字 4 驗證email格式 5 驗證文字必須是英文 6 驗證貨幣格式 保留小數點2位 7 驗證url格式 8 驗證手機格式 9 驗證年份格式 10 驗證日期格式 yyyy mm 11 驗證正負貨幣格式 保...

JavaScript中正則驗證

在一次使用js的正則對輸入字串進行驗證時,使用了正則物件的test方法,此次,我的驗證是對乙個版本號的格式的驗證 版本號格式如下 a.b.c,其中,a b c均是乙個一到三位的數字,比如,1.2.3。正規表示式 var reg d.d.d g,這是乙個完全匹配。第一次呼叫 reg.test a.b....