摘要:設(shè)計(jì)目的是為了讓在全局范圍內(nèi)有效。在正則表達(dá)式后部引用前面的子表達(dá)式。傳入分隔符或正則表達(dá)式。對(duì)象屬性以下屬性返回布爾值。是否包含修飾符以下不返回布爾值整個(gè)字符串下一次搜索開始的位置。返回布爾值,若匹配則返回。
1. 正則表達(dá)式語法 1.1 表示方法
- `//`字面量模式,`/表達(dá)式/修飾符` - 使用`new RegExp(字符串,修飾符 | 正則表達(dá)式)`構(gòu)造函數(shù)。 在ES5中,參數(shù)是正則表達(dá)式時(shí)不允許傳入第二個(gè)參數(shù)。 在ES6中,當(dāng)?shù)谝粋€(gè)參數(shù)為正則表達(dá)式是,可以傳入第二個(gè)參數(shù)修飾符,這時(shí)第二個(gè)參數(shù)的修飾符會(huì)覆蓋第一個(gè)參數(shù)正則表達(dá)式之中的修飾符。1.2 字符類[]
[]:匹配[]中的任意字符
[^]:不在[]中的任意字符
.:除換行符或其他終止符之外的任意字符。
以下的大寫都是小寫的取反:
w:[a-zA-Z0-9]
W:[^a-zA-Z0-9]
s:任意unicode空白符
S:[^s]
d:[0-9]
D:[^0-9]
[]:退格
1.3 重復(fù){n,m}:出現(xiàn)n<= 次數(shù) <= m
{n,}: >=n 次
{n}: n次
? : {0,1}
+ : {1,}
* : {0,}
以上情況是盡可能多的匹配,稱為貪婪匹配.
在重復(fù)次數(shù)后面加上“?”,如“+?”則為盡可能少的匹配,稱為非貪婪匹配。
var r1 = /a+/ var r2 = /a+?/ var str = "aaa" str.match(r1) //["aaa"] str.match(r2) //["a"]1.4 位置
^:匹配開頭
$:匹配結(jié)尾
:匹配一個(gè)單詞的邊界,注意與[]的區(qū)別
B:非單詞的邊界
/x(?=y)/:稱為“先行斷言”。只匹配在y前面的x.
/x(?!y)/:稱為“先行否定斷言”。只匹配不在y前面的x.
1.5 修飾符i:大小寫不敏感
g:全局匹配。即找到所有,而不是找到一個(gè)就停止。
y:(ES6新增)粘連修飾符。與g相似。但y下一次開始查找時(shí)從匹配的下一個(gè)位置開始,即如果下一個(gè)位置不匹配則返回null.而g只要剩余位置存在匹配即可。設(shè)計(jì)目的是為了讓^在全局范圍內(nèi)有效。
m:多行匹配。即匹配一行的開頭結(jié)尾 + 字符串的開頭或結(jié)尾
u:(ES6新增)。主要針對(duì)ES6對(duì)Unicode字符進(jìn)行擴(kuò)展之后的匹配。包括對(duì).,{}中的改善。詳見阮一峰老師的ES6教程
1.6 選擇|: 相當(dāng)于“或”。即/ab|cd/可以匹配“ab”,也可以匹配“cd”。但它從左至右匹配,直到發(fā)現(xiàn)匹配項(xiàng)。即若你以匹配“ab”,則不匹配“cd”.
1.7 分組/引用圓括號(hào)的作用:
1. 即把很多項(xiàng)組合成獨(dú)立的單元來處理。 2. 定義子模式。即在已匹配中找到符合圓括號(hào)內(nèi)的匹配項(xiàng)。 3. 在正則表達(dá)式后部引用前面的子表達(dá)式。即后面可以使用` `來表示匹配的表達(dá)式是前面的括號(hào)中的表達(dá)式.` `中的n代表第幾個(gè)括號(hào)。2. String的正則方法
search():傳入正則表達(dá)式,若傳入的是字符串,則會(huì)轉(zhuǎn)為正則表達(dá)式。返回第一次匹配項(xiàng)的起始位置。若不匹配,則返回-1.
replace():第一個(gè)參數(shù)可以是正則表達(dá)式也可以是字符串,第二個(gè)參數(shù)是要將與第一個(gè)參數(shù)匹配的匹配項(xiàng)替換的東西,可以是函數(shù)或字符串。若為函數(shù),則參數(shù)為macth,(p1,p2..),offset,str.match為匹配項(xiàng),(p1,p2..)為第n個(gè)括號(hào)匹配的字符串,offset是匹配項(xiàng)在調(diào)用字符串中的位置,str是調(diào)用的字符串。若正則表達(dá)式中含//g,則會(huì)將全部匹配項(xiàng)都替換。返回替換后的字符串。
match():返回?cái)?shù)組。若包含全局修飾符g,則數(shù)組元素分別為每次的匹配項(xiàng)。若為傳入g,則數(shù)組第一個(gè)元素是匹配項(xiàng),后面分別為圓括號(hào)的匹配項(xiàng)。返回的數(shù)組包含input和index屬性。input表示調(diào)用字符串,index表示匹配項(xiàng)在調(diào)用字符串中的索引。
split():返回?cái)?shù)組。傳入分隔符或正則表達(dá)式。
3. RegExp對(duì)象 3.1 RegExp屬性以下屬性返回布爾值。即是否包含相應(yīng)修飾符。
- `global` - `multiline` - `ignoreCase` - `sticky`:是否包含`y`修飾符
以下不返回布爾值
- `lastIndex`:整個(gè)字符串下一次搜索開始的位置。 - `source`:正則表達(dá)式文本。 - `flags`:使用了哪些修飾符3.2 RegExp方法
exec():傳入字符串。不管什么時(shí)候都返回與不傳入g的match方法相同的數(shù)組。第2次調(diào)用該方法時(shí)會(huì)從lastIndex位置開始??梢栽O(shè)置lastIndex屬性執(zhí)行下一次開始查找匹配的位置。input表示調(diào)用字符串,index表示匹配項(xiàng)在調(diào)用字符串中的索引。
test():傳入字符串。返回布爾值,若匹配則返回true。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/79833.html
摘要:對(duì)象是屬性的無序集合。使用對(duì)象直接量創(chuàng)建的對(duì)象的原型就是,使用運(yùn)算符創(chuàng)建的對(duì)象的原型是構(gòu)造函數(shù)的的值。主要目的是將對(duì)象鎖定,避免外界干擾。判斷對(duì)象是否封閉。刪除屬性可刪除對(duì)象的自有屬性且為的屬性。 對(duì)象是屬性的無序集合。因此,這一章主要從對(duì)象和屬性兩個(gè)方面來闡述。showImg(https://box.worktile.com/view/c8f5f376fe314aeca69d9b4c...
摘要:若有函數(shù)名,則在函數(shù)體內(nèi)指代該函數(shù)本身,并且只存在于函數(shù)體中。返回值與普通函數(shù)相同。如果嵌套函數(shù)作為普通函數(shù)調(diào)用,則指向全局對(duì)象或者構(gòu)造函數(shù)調(diào)用在函數(shù)或者方法調(diào)用之前使用關(guān)鍵字,則為構(gòu)造函數(shù)調(diào)用。創(chuàng)建一個(gè)新的對(duì)象繼承構(gòu)造函數(shù)的屬性。 showImg(https://box.worktile.com/view/ddbade8c84bb41cdb20db15228584b8e?pid=4b...
摘要:數(shù)組有以下特點(diǎn)無類型數(shù)組元素可以是任意元素。因此,當(dāng)小于數(shù)組最大索引時(shí),大于的數(shù)組元素會(huì)被刪除。原數(shù)組不會(huì)改變將數(shù)組元素轉(zhuǎn)換為字符串并連接在一起。默認(rèn)將數(shù)組元素用,連接,傳入的參數(shù)即為連接符。 showImg(https://box.worktile.com/view/fcfcdf2c99b14edfb6768085955ae253?pid=4b0845b09ca94218a955f8...
摘要:每個(gè)構(gòu)造函數(shù)定義了一類對(duì)象,表示由構(gòu)造函數(shù)初始化對(duì)象的集合。嚴(yán)格模式下,明確禁止八進(jìn)制數(shù)。日期和時(shí)間構(gòu)造函數(shù)用來創(chuàng)建表示日期和時(shí)間的對(duì)象,包含方法。模式匹配函數(shù)是一個(gè)構(gòu)造函數(shù),創(chuàng)建正則表達(dá)式。布爾值表示兩種狀態(tài),使用保留字和。 《Javascript權(quán)威指南》就是前端工程師口中常說的犀牛書,得名是因?yàn)橹形姆g出版的書籍封面是一只犀牛,是學(xué)習(xí)JavaScript的必讀書籍。 JavaSc...
摘要:緣起這是語言程序設(shè)計(jì)的,計(jì)劃之前全部整理完。產(chǎn)生隨機(jī)數(shù)的方法。復(fù)習(xí)題雙分支語句復(fù)習(xí)題嵌套的語句和多分支語句復(fù)習(xí)題常見錯(cuò)誤和陷阱常見錯(cuò)誤兩個(gè)浮點(diǎn)數(shù)值的相等測(cè)試復(fù)習(xí)題產(chǎn)生隨機(jī)數(shù)產(chǎn)生一個(gè)到之間的隨機(jī)值,不包括。 緣起 這是《Java語言程序設(shè)計(jì)(10th)》的Part1,計(jì)劃2017-12-31之前全部整理完。 2017-12-23開始想看這本書的,并同時(shí)開始實(shí)踐起Java來的。 Part...
閱讀 3076·2021-11-24 10:34
閱讀 3332·2021-11-22 13:53
閱讀 2637·2021-11-22 12:03
閱讀 3604·2021-09-26 09:47
閱讀 3013·2021-09-23 11:21
閱讀 4809·2021-09-22 15:08
閱讀 3301·2021-07-23 10:59
閱讀 1264·2019-08-29 18:31