您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“javaScript正則表達式代碼怎么寫”,內容詳細,步驟清晰,細節處理妥當,希望這篇“javaScript正則表達式代碼怎么寫”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
‘\b’:代表單詞邊界,比如/\bis\b/會匹配一句話中的is單詞,不會匹配單詞中的is
‘()’:小括號可以用于分組,以便獲取到正則表達式匹配的內容,用1可以獲取第一個小括號的內容,用2可以獲取第二個小括號的內容。以此類推
g:global全文搜索,不添加,搜索到第一個匹配停止
i:ignore case 忽略大小寫,默認大小寫敏感
m:multiple lines多行搜索
var reg = new RegExp(‘\b要替換的文本\b’, ‘g’);
“文本”.replace(reg, “替換后的文本”)
字面量
var reg = /\b文本\b/g;
正則表達式由兩種基本字符類型組成
1.原義文本字符:代表它原來含義的字符 例如:abc、123
2.元字符:在正則表達式中有特殊意義的非字母字符
例如:\b表示匹配單詞邊界,而非\b
在正則表達式中具體特殊含義的字符:* + ? $ ^ . \ () {} []
元字符:
\t:水平制表符;
\v:垂直制表符;
\n:換行符;
\r:回車符;
\0:空字符;
\f:換頁符;
\cX:與X對應的控制字符
使用元字符[]來構建一個簡單的類,
所謂類是指符合某些特性的對象,一個泛指,而不是特指某個字符
表達式[abc]把字符a或b或c歸為一類,表達式可以匹配這類字符
字符類取反
使用元字符^創建反向類/負向類
反向類的意思是不屬于某一類的內容
表達式[^abc]表示不是a或b或c的內容
"a1b2c3".replace(/[abc]/g,"x"); // 匹配結果 : x1x2x3 "a1b2c3".replace(/[^abc]/g,"x"); // 取反 匹配結果 : axbxcx
范圍類:[a-z],[0-9]等等,可以連寫:[a-zA-Z]
如果要匹配里面的橫杠“-”,可以在后面加一個橫杠“-”:[0-9-]
“2016-09-05”.replace(/[0-9-]/g,”X”) => XXXXXXXXXXX
^在中括號中[]表示取反
不在[]表示以xxx開始
\d 數字
\D 非數字
\s 空白符
\S 非空白符
\w 單詞字符(字母數字下劃線)等同于 [a-zA-Z_0-9]
\W 非單詞字符
. 除了回車符和換行符以外的所有字符
正則表達式還提供了幾個常用的邊界匹配字符:
^ 開頭
$ 結尾
\b 單詞邊界
\B 非單詞邊界
? 最多出現一次
+ 至少出現一次
* 任意次
{n} 出現n次
{n,m} 出現n到m次
{n,} 至少出現n次
正則表達式的匹配模式有:貪婪模式,非貪婪模式。默認模式為貪婪模式,設置非貪婪模式需要在量詞后面添加疑問號“?”。
例如: ‘123456789’.match(/\d{3,6}?/g)//匹配結果為['123456'] ‘123456789’.match(/\d{3,6}?/g) //匹配結果為 ['123','456','789']
使用()可以達到分組的功能,使量詞作用于分組
| 或
反向引用 $ 捕獲分組
'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,$1/$2/$3);// 匹配結果 2015/12/25
忽略分組
分組:使用“()” ,忽略分組:“(?:)”。忽略分組的意思是說,雖然分了組,但是不能通過”$”來獲取改組的內容。
忽略分組 - 不希望捕獲某些分組,只需要在分組內加上 “?:” 就可以
例: (?:Byron)
exp(?=assert) 正向前瞻
exp(?1assert) 負向前瞻
前瞻 匹配某個正則之后 再檢查 后面的匹配規則
正向前瞻(/\w(?=\d)/);//匹配到單詞之后,在檢查后面是數字
負向前瞻(/\w(?!\d)/)://匹配到單詞之后,在檢查后面不是數字
g是否全文搜索
i是否大小寫敏感
m是否多行搜索
l當前表達式匹配內容的最后一個字符的下一個位置
s正則表達式的文本內容
reg.test(“str”);// 測試參數是否匹配正則表達式reg
str.search(reg);//search返回第一個匹配結果的index,查找不到返回-1;search方法是忽略全局匹配的
str.match(reg);//返回數組,match方法 是否具有標志g對結果影響很大,沒有標志g只執行一次匹配,沒有找到文本,返回null,否則返回數組
str.split(reg);//返回數組
str.replace(reg,str1);//
string.replace(str, replaceStr)
string.replace(reg, replaceStr)
string.replace(reg, function)
讀到這里,這篇“javaScript正則表達式代碼怎么寫”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。