柚子快報(bào)激活碼778899分享:正則表達(dá)式(詳解)
柚子快報(bào)激活碼778899分享:正則表達(dá)式(詳解)
??????歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識,也可以暢所欲言、分享您的想法和見解。
非常期待和您一起在這個(gè)小小的網(wǎng)絡(luò)世界里共同探索、學(xué)習(xí)和成長。??? ?? 歡迎訂閱本專欄 ?? ?
目錄
正則表達(dá)式
什么是正則表達(dá)式
語法
1. 定義正則表達(dá)式語法:
2.判斷是否有符合規(guī)則的字符串
3.檢索符合規(guī)則的字符串
元字符
普通字符:
元字符(特殊字符)
正則表達(dá)式
1.?什么是正則表達(dá)式
正則表達(dá)式(Regular Expression)是用于匹配字符串中字符組合的模式。在 JavaScript中,正則表達(dá)式也是對象
通常用來查找、替換那些符合正則表達(dá)式的文本,許多語言都支持正則表達(dá)式。
正則表達(dá)式在 JavaScript中的使用場景:
例如驗(yàn)證表單:用戶名表單只能輸入英文字母、數(shù)字或者下劃線,昵稱輸入框中可以輸入中文(
匹配
)
比如用戶名: /^[a-z0-9_-]{3,16}$/
過濾掉頁面內(nèi)容中的一些敏感詞(
替換
),或從字符串中獲取我們想要的特定部分(
提取
)等 。
2. 語法
JavaScript 中定義正則表達(dá)式的語法有兩種,我們先學(xué)習(xí)其中比較簡單的方法:
2.1 定義正則表達(dá)式語法:
其中 / / 是正則表達(dá)式字面量
let 變量名 = /表達(dá)式/
其中 / / 是正則表達(dá)式字面量? 比如:
let reg = /前端/
2.2 判斷是否有符合規(guī)則的字符串
test()
方法 用來查看正則表達(dá)式與指定的字符串是否匹配
regObj.test = (被檢測的字符串)
let reg = /前端/
// 2. 檢測是否匹配 test (重點(diǎn))
let str = '我們大家都在學(xué)前端'
// console.log(reg.test(str))
如果正則表達(dá)式與指定的字符串匹配 ,返回true,否則false
2.3 檢索符合規(guī)則的字符串
exec()
方法 在一個(gè)指定字符串中執(zhí)行一個(gè)搜索匹配
如果匹配成功,exec() 方法返回一個(gè)數(shù)組,否則返回null
3. 元字符
3.1 普通字符:
大多數(shù)的字符僅能夠描述它們本身,這些字符稱作普通字符,例如所有的字母和數(shù)字。
也就是說普通字符只能夠匹配字符串中與它們相同的字符。
3.2 元字符(特殊字符)
是一些具有特殊含義的字符,可以極大提高了靈活性和強(qiáng)大的匹配功能。
比如,規(guī)定用戶只能輸入英文26個(gè)英文字母,普通字符的話 abcdefghijklm…..
但是換成元字符寫法: [a-z]
1. 邊界符(表示位置,開頭和結(jié)尾,必須用什么開頭,用什么結(jié)尾)
2. 量詞 (表示重復(fù)次數(shù))
3. 字符類 (比如 \d 表示 0~9)
1. 邊界符
正則表達(dá)式中的邊界符(位置符)用來
提示字符所處的位置
,主要有兩個(gè)字
邊界符說明^表示匹配行首的文本(以誰開始)$表示匹配行尾的文本(以誰結(jié)束)
如果^和$在一起,表示必須是精確匹配 (非常重要!!!!!)
量詞
量詞用來
設(shè)定某個(gè)模式出現(xiàn)的次數(shù)
量詞說明*重復(fù)零次或更多次+重復(fù)一次或更多次?重復(fù)零次或一次{n}重復(fù)n次{n,}重復(fù)n次或更多次{n,m}重復(fù)n次到m此
注意:逗號左右兩側(cè)千萬不要出現(xiàn)空格
3.
字符類:
(1)[ ]
匹配字符集合
后面的字符串只要包含
abc
中任意
一個(gè)字符
,都返回
true
(2)[ ]
里面加上
-
連字符
使用連字符
-
表示一個(gè)范圍
console.log(/^[a-z]$/.test('c')) //true
[a-z]
表示
a
到
z
26
個(gè)英文字母都可以
[a-zA-Z]
表示大小寫都可以
[0-9]
表示
0~9
的數(shù)字都可以
(3)[ ]
里面加上
^
取反符號
[^a-z]
匹配除了小寫字母以外的字符
注意要寫到中括號里面
(4)
.
匹配除換行符之外的任何單個(gè)字符
(5)
預(yù)定義:
指的是
某些常見模式的簡寫方式
。
\d匹配0-9之間的任一數(shù)字,相當(dāng)于[0-9]\D匹配所有0-9以外的字符,相當(dāng)于[^0-9]\w匹配任意的字母、數(shù)字、下劃線,相當(dāng)于[A-Za-z0-9]\W除所有字母、數(shù)字、下劃線以外的字符,相當(dāng)于[^A-Za-z0-9]\s匹配空格(包括換行符、制表符、空格符等),相當(dāng)于[\t\r\n\v\f]\S匹配非空格的字符,相當(dāng)于[^\t\r\n\v\f]
修飾符
修飾符約束正則執(zhí)行的某些細(xì)節(jié)行為,如是否區(qū)分大小寫、是否支持多行匹配等
語法:
/表達(dá)式/修飾符
i
是單詞
ignore
的縮寫,正則匹配時(shí)字母不區(qū)分大小寫
g
是單詞
global
的縮寫,匹配所有滿足正則表達(dá)式的結(jié)果
console.log(/a/i.test('a')) //true
console.log(/a/i.test('A')) //true
替換
replace
替換
字符串.replace(/正則表達(dá)式/,'替換的文本')
??????小鄭是普通學(xué)生水平,如有紕漏,歡迎各位大佬評論批評指正!???
???如果覺得這篇文對你有幫助的話,也請給個(gè)點(diǎn)贊、收藏下吧,非常感謝!? ? ?
柚子快報(bào)激活碼778899分享:正則表達(dá)式(詳解)
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。