JavaScript正規表示式

2021-08-28 20:50:32 字數 3049 閱讀 8958

建立正規表示式

var reg = /abc/;

var reg = new regexp('abc');

正規表示式的方法

exec():

reg.exec(str)

其中str為要執行正規表示式 的字串,該方法會返回乙個陣列,其中第一位為在str中匹配出的字串,index為匹配出的字串首次出現的位置。

test():

reg.test(str)

str同樣為要執行正規表示式的字串,該方法會判斷str中是否有符合正規表示式的字串,如果有返回true,否則返回false。

正規表示式引數

i (ignore) 忽略大小寫

g (global) 全域性匹配

m (multiline) 多行匹配

表示式

1. [abc]

查詢方括號之間的任意字元,匹配的為單個字元,可以為方括號中的任意乙個。

方括號中的也可以為乙個範圍,比如[a-za-z0-9],這樣代表匹配所有字母以及數字

[^abc]

查詢不再方括號範圍內的字元,注意^的位置,是在方括號裡面,是取反的意思。

2. ()

括號的作用是提高優先順序以及產生子表示式

3. |

或表示式,和功能差不多,可以配合()來使用

元字元

1. .(點) /./

可以匹配出除了換行符(\n)和行結束符 (\r) 之外的所有字元

2. \w

該元字元可以匹配單詞字元,即a-za-z0-9_

注意:該符號可以匹配下劃線

3. \w

匹配除了\w可以匹配的其他字元

4. \d

匹配數字字元,即0-9

5. \d

匹配除了數字字元其他的其他字元

6. \s

匹配空白字元

空白字元包括:空格符、製表符(\t)、回車符(\r),換行符(\n),垂直換行符(\v)、換頁符(\f)

7. \s

查詢非空白字元,即除了\s包括的空白字元之外的其他字元。

我們如果要匹配任意字元的話,就可以搭配起來使用了:

[\s\s]、[\d\d]、[\w\w]等都可以

8. \b

匹配單詞邊界, 只有在單詞的開頭位置才會匹配

9. \b

匹配非單詞邊界, 匹配非單詞邊界中的字元

注意: 漢字本身就是乙個單詞,每個漢字兩邊預設含有單詞邊界

量詞

以下的n代表乙個變數,可以為表示式或者元字元

1. n+

匹配至少乙個變數n

2. n*

匹配至少0個變數n

3. n?

匹配0-1個變數n

4. n

規定匹配x個變數n,大括號可以為乙個區間,使用,隔開,比如匹配1-4個,如果區間不寫第二個則可以無限匹配,這裡預設為貪婪匹配,盡可能多的匹配。

如果{}?,在大括號後面新增乙個?則變為最小匹配,

5. n$

匹配以n結尾的字元

6. ^n

匹配以n開頭的字元

注: 小括號可以作為子表示式來引用

例:匹配***x

/(\w)\1\1\1|(\w)\2\2\2/

其中()內為子表示式,\1為反向引用一次第乙個子表示式,如需多次引用則新增多個,其中1代表第乙個子表示式,以此類推第二個為2。

字串常用方法

str.replace()

第乙個引數為正規表示式,第二個引數為要替換的內容

例:將形如xxyy的內容進行反轉替換成為yyxx

let reg = /(\w)\1(\w)\2/

let str = 'aacc'

str.replace(reg, $2$2$1$1)

這裡replace的第二個引數也可以反向引用正規表示式的子表示式內容,使用$來引用,也可以為乙個函式

str.replace(reg, function ($, $1, $2) )
正向預查:?=n ?!n為反向,即不為n

例: 找出後面是b的a(這裡b作為判斷條件,但實際上查的為a)

let reg = /a(?=b)/

常用正規表示式

1. 取出字串結尾的數字

const reg = /\d+$/g;

const str = 'ass340';

const number = reg.exec(str)[0]; //"340"

2.固定**正則

/\d-\d(-\d)?$/

區號 **號碼 分機號(非必填)

3. 手機號正則

/^(0*|86|17951)?(13\d|15\d|166|17[3678]|18\d|14[57])\d$/

忽略0及86、17951

未完待續,持續更新中。。。

Javascript正規表示式

這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...

JavaScript 正規表示式

一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...

javascript 正規表示式

正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...