千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

p109-116正則
正則的符號(hào)
元字符
書(shū)寫在正則表達(dá)式內(nèi)部的符號(hào)
基本元字符
/d: 表示的是一位數(shù)字
/D:表示的是一位非數(shù)字
/s:表示一位空白內(nèi)容(空格 換行 縮進(jìn))
/S:表示一位非空白內(nèi)容(空格 換行 縮進(jìn))
/w:表示一位數(shù)字、字母、下劃線
/W:表示一位非數(shù)字、非字母、非下劃線
.????表示非換行以外的任意內(nèi)容
\???表示轉(zhuǎn)義符?把有意義的轉(zhuǎn)成沒(méi)有意義的,沒(méi)有意義的轉(zhuǎn)成有意義的
邊界符
^?表示以什么開(kāi)頭
$??表示以什么結(jié)尾
/^ $/?表示從頭到尾
限定符
用來(lái)限定前面的符號(hào)出現(xiàn)的次數(shù)
*??表示前面的符號(hào)出現(xiàn)0次到多次
+??表示出現(xiàn)1次到多次
??表示出現(xiàn)0次到1次
{n}?表示前面的符號(hào)出現(xiàn)指定的次數(shù),n是幾出現(xiàn)幾次?
{n,}?表示前面符號(hào)至少出現(xiàn)n次
{n,m} 表示前面符號(hào)最少出現(xiàn)n次,最多出現(xiàn)m次
特殊符號(hào)
()?
含義1:整體??
含義2:?jiǎn)为?dú)捕獲
|??或,左邊的一個(gè)或者右邊的都可以
[ ]??包含就是書(shū)寫在這個(gè)符號(hào)中的任何一個(gè)都可以
注意: 一個(gè)包含符號(hào) 占 一個(gè)字符的位置
[^]??非??就是書(shū)寫在這個(gè)符號(hào)中的任何一個(gè)都不可以
注意: 一個(gè)包含符號(hào) 占 一個(gè)字符的位置
-???至 或者是 到
一般和[]或者是[^]
必須是ASCII連續(xù)的
修飾符(標(biāo)識(shí)符)
書(shū)寫在正則表達(dá)式外面的符號(hào),用來(lái)修飾整個(gè)正則
i??忽略大小寫
這個(gè) i 是寫在正則的最后面的??`/\w/i`
g?全局匹配
這個(gè) g 是寫在正則的最后面的
`/\w/g`??全局匹配字母數(shù)字下劃線
創(chuàng)建正則的區(qū)別
1,語(yǔ)法不同
字面量: var reg= /內(nèi)容/ig
內(nèi)置構(gòu)造函數(shù)?var?reg = new RegExp(‘內(nèi)容’,‘ig’)
2,拼接字符串
字面量:不能拼接字符串
內(nèi)置構(gòu)造函數(shù):能拼接字符串
3,基本字符元素的書(shū)寫
字面量方式的時(shí)候, 直接書(shū)寫 \s\d\w
內(nèi)置構(gòu)造函數(shù)書(shū)寫的時(shí)候, 需要書(shū)寫 \\s\\d\\w
4書(shū)寫標(biāo)識(shí)符的時(shí)候
字面量方式直接書(shū)寫在正則的后面
內(nèi)置構(gòu)造函數(shù), 以第二個(gè)參數(shù)的方式傳遞
正則的兩大特性
懶惰性
當(dāng)需要捕獲一個(gè)內(nèi)容時(shí),只會(huì)捕獲滿足條件的第一個(gè),不會(huì)記憶捕獲到哪里。下次開(kāi)始依舊是從頭開(kāi)始
解決方法:使用全局變量,或者g
貪婪性
盡可能多拿:能拿多少拿多少(多拿)
解決方法:使用非貪婪限定符???能拿多少拿多少(少拿)?*? +? {n,}??{n,m}? ??
正則字符串的方法
字符串.方法名
字符串.replace(換下片段,換上片段)
返回值:替換好的字符串
特點(diǎn):使用了正則沒(méi)有g(shù)和普通字串沒(méi)有區(qū)別,使用了全局g,有多少換多少。
字符串.search/indexOf(檢測(cè)的內(nèi)容)
檢測(cè)字符串中有沒(méi)有要的內(nèi)容
返回值:若有返回滿足條件的第一個(gè)索引值,若沒(méi)有返回-1
特點(diǎn):可以使用正則,但是沒(méi)有區(qū)別
字符串.match(捕獲的內(nèi)容)捕獲
返回值:沒(méi)有就返回null
有就返回?一個(gè)數(shù)組,沒(méi)有g(shù)捕獲到的滿足條件的是第一個(gè);有g(shù)就有多少,捕獲多少
正則預(yù)查
正向
正向肯定預(yù)查:(?=)
正向否定預(yù)查:(?!)
負(fù)向預(yù)查
負(fù)向肯定預(yù)查:(?<=)
負(fù)向否定預(yù)查:(?<!)