js RegExp正則的功能非常強大抹镊,可以匹配你需要的所有規(guī)格锌妻;
解釋: 按照某種規(guī)則去匹配符合條件的字符串贮懈;
可視化工具楚里,幫助更好觀察代碼断部,分析
https://regexper.com/#%5E%5Cd%2B%5Cw%24%0A
https://jex.im/regulex/#!embed=false&flags=&re=%5E%2Fd%2B%24
有沒有很高大上?
很直觀
http://img1.jpg
http:(//.+.jpg)
$1
正則有兩種實現(xiàn)方式
1.字面量
直接量語法:/pattern/attributes
2.構(gòu)造函數(shù)
創(chuàng)建 RegExp 對象的語法:new RegExp(pattern, attributes);
參數(shù)
參數(shù) pattern 是一個字符串班缎,指定了正則表達(dá)式的模式或其他正則表達(dá)式蝴光。
參數(shù) attributes 是一個可選的字符串,包含屬性 "g"吝梅、"i" 和 "m"虱疏,分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配苏携。ECMAScript 標(biāo)準(zhǔn)化之前做瞪,不支持 m 屬性。如果 pattern 是正則表達(dá)式,而不是字符串装蓬,則必須省略該參數(shù)著拭。
返回值
一個新的 RegExp 對象,具有指定的模式和標(biāo)志牍帚。如果參數(shù) pattern 是正則表達(dá)式而不是字符串儡遮,那么 RegExp() 構(gòu)造函數(shù)將用與指定的 RegExp 相同的模式和標(biāo)志創(chuàng)建一個新的 RegExp 對象。
如果不用 new 運算符暗赶,而將 RegExp() 作為函數(shù)調(diào)用鄙币,那么它的行為與用 new 運算符調(diào)用時一樣,只是當(dāng) pattern 是正則表達(dá)式時蹂随,它只返回 pattern十嘿,而不再創(chuàng)建一個新的 RegExp 對象。
拋出
SyntaxError - 如果 pattern 不是合法的正則表達(dá)式岳锁,或 attributes 含有 "g"绩衷、"i" 和 "m" 之外的字符,拋出該異常激率。
TypeError - 如果 pattern 是 RegExp 對象咳燕,但沒有省略 attributes 參數(shù),拋出該異常乒躺。
i:執(zhí)行對大小寫不敏感的匹配
g:執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)
m:執(zhí)行多行匹配招盲。
字符類
范圍類:
預(yù)定義類:
邊界:
量詞:
貪婪模式:(盡可能多的匹配)
非貪婪模式
分組:
**.1或: or **
反向:
前瞻
對象屬性:(只讀屬性)
text 和exec
搜索search
忽略g
match
全局調(diào)用
split