正規表示式的簡單理解

2021-10-12 10:16:46 字數 4298 閱讀 4772

正規表示式概念:乙個有規則的表示式

簡單的說就是乙個用於查詢的萬用字元

-> js 正規表示式物件 就是 由 正規表示式建立的物件, 該物件可以進行 匹配, 提取 和 替換.

建立正規表示式物件

建構函式

var regex = new regexp( 正規表示式字串[, 匹配模式] );

字面量var regex = /正規表示式/;

//建立正則物件的兩種方法

var reg =

newregexp()

// console.dir(reg);

var rege =

/\k/

// console.log(rege);

// var str = 'abc'

//判斷字串中是否有符合的字元 語法:正則物件.test(字串) 返回值boolean

// console.log(rege.test(str));

var str =

'abcdefghijklmnopqrstuvwsyz'

//尋找符合的字元,返回boolean

var bl = str.

includes

('op'

) console.

log(bl)

;//尋找符合的字元,返回符合的字元的下標

var c = str.

search

('op'

) console.

log(c)

語法:

正則物件.test( 字串 ) -> boolean

如果引數字串中含有 符合 正則匹配的 字串, 就返回 true, 否則返回 false

例如:reg.test(str)

var reg =

/[sr]/

//轉義字元 \(\) \ \. \\

// var reg = /\(1\)/

var str =

'string'

console.

log(reg.

test

(str)

);

//  . 表示任意乙個非換行字元

// 表示乙個字元,出現在中的字元

// | 或者

// var reg = /./

// var reg = /[s]/

var reg =

/[sr]/

//轉義字元 \(\) \ \. \\

// var reg = /\(1\)/

var str =

'string'

console.

log(reg.

test

(str));

//如果要顯示表示阿拉伯數字0到9,可以簡寫為[0

-9]//如果要顯示表示大寫英文本母a到z,可以簡寫為[a

-z]//如果要顯示表示小寫英文本母a到z,可以簡寫為

[a-z]

//亦可以合併來寫[0

-9a-za-z]

//表示限定字元為阿拉伯數字0到9,小寫英文本母a到z,大寫英文本母a到z

//要注意寫成[9-0][z-a][z-a]這種逆序的寫法是錯誤的

. 任意的乙個字元. 沒有任何限制

是出現在中的乙個字元. 認為是 . 的限制級版本[abc]:等同於:a 或者 b 或者 c

| 可以認為是 允許使用多個字元的 匹配

// /字元(串)*/	緊跟前面的字元出現0次或者多次

// var reg = /123*/

// /字元(串)+/ 緊跟前面的字元出現1次或者多次

// var reg = /123+/

// /字元(串)?/ 緊跟前面的字元出現0次或者1次

// var reg = /123?/

// /字元(串)/ 緊跟前面的字元連著出現次

// var reg = /1/

// /字元(串)/ 緊跟前面的字元至少連著出現次

// var reg = /1/

// /字元(串)/ 緊跟前面的字元連著出現次,至少連著出現number1次,可以出現更多次

var reg =

/1/

著重記憶:限定元字元都是限定緊跟著的字元,若是不是連續出現的字元,雖然也出現了限定的次數判斷式任然會返回false值

//  /^字元/ 以該字元開頭

// /字元$/ 以該字元結尾

// var reg = /^a+$/ 意思為限定字元得全部為a,則之個字串得全部是a組成的

var reg =/^

1[3578][

0-9]

///限定以1開頭

var str =

'15345678910'

console.

log(reg.

test

(str));

var rege =

/b$/

//限定以b結尾

console.

log(rege.

test

('aaab'

))

\s 空白字元, 包括空格, tab, 回車換行等

\s 非空白字元

js 中常常使用 [\s\s] 表示任意字元

\w 表示字元, 包含字母, 數字, 下劃線.

\w 非字元

\d 數字

\d 非數字

//  \s空白字元,包括空格、tab、回車換行等

// \s非-----

// \w表示字元

// \w--非字元,例如鍵盤上的回車等

// \d數字

// \d非--

var str =

'[email protected]'

// 我有乙個郵箱, 是 , 還有 [email protected], 和 [email protected]

var reg =

/\w/

console.

log(reg.

test

(str)

);

使用正規表示式可以進行匹配, 使用 exec 可以將匹配到的資料提取出來

語法: 正規表示式物件.exec( 字串 ) -> 封裝成陣列

reg.exec(str)最後篩選不到返回null

var str =

'abc123def456hij789klmn'

var reg =

/\d+/g

var arr

while

(arr = reg.

exec

(str)

)console.

log(arr)

;

凡是在正規表示式中, 涉及到次數限定的, 一般預設都是盡可能的多匹配.

取消貪婪模式. 在次數限定符後面加上 ?

注意: 貪婪模式效能會略高於非貪婪模式, 所以開發的時候. 一般不考慮貪婪的問題

只有**匹配結果出現問題了, 一般一次多匹配了, 才會取消貪婪

var str =

'123

4567890'

;//反向引用 呼叫之前的小括號中的部分

var reg =

/<(\w+)>.*?<\/\1>/g

var arr

while

(arr = reg.

exec

(str)

)

var reg =/[

^abc]

///不是以a或b或c開頭的字元

正規表示式是種嚴謹的用於查詢的萬用字元,如果簡單使用也要多多記憶基本的元字元,其中尤其要多多注意 () 元字元的作用,避免達不到預想的效果,而 | 或元字元優先順序最低,使用時也要多多注意

內建物件之正規表示式 簡單理解正規表示式

正規表示式 內建物件 使用者名稱 郵件 上網輸入的資訊 讓計算機檢查輸入是否符合 正規表示式是用於定義一些字串的規則,來檢查乙個字串是否符合規則 獲取將字串中符合規則的內容提取出來 語法 reg new regexp 正規表示式 匹配模式 使用typeof 檢查正則物件,會返回object 這個正規...

正規表示式理解

正規表示式問題 string regex 1 d 2 0 4 d 25 0 5 1 9 d 1 9 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 幫我把這一段解釋下,怎麼看都看不懂 驗...

理解正規表示式

1.概念 正規表示式 regular expression 是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串。這裡用php中的正規表示式說明,其他語言可參考 1 2 pattern test 3 st...