正則表達式在JS中的運用

正則表達式不是單純的js範疇,所以標題這樣取比較好一點,正則表達式運用於檢測字符串格式,他所表示的是一種字符串格式,根據他索引到字符串中相應位置進行想要的操作,前面主要是小編自身爲了記憶做的比較繁瑣的筆記,後面會結合常見案例來說。

一、定義與方法

轉義字符 \ :

轉義字符 \ 將後面所跟的內容轉爲文本

通過它可以實現多行文本

var str = "我是\
           多行文本"

定義:

1. var reg = / / ;      //其中的每一位我們可以默認它帶有括號,當我們帶括號寫時就可以爲這一位添加更多的條件了

2. var reg =new RegExp("正則表達式" , 索引模式) ;

有聯繫的一些方法:

二、索引模式、元字符、量詞

初始狀態下正則匹配完全按照內容匹配而且次數爲1次,實際上格式不可能什麼都是字符串索引,對應格式就有對應代表規則

三種索引模式:

i:忽略大小寫

g:全局索引

m:多行匹配   //當存在換行時正則必須加上m才能匹配多行

元字符:

大寫是小寫的非

我們以中括號代表條件

\w:[0-9||A-z]

\d:[0-9]

\s:空白字符都是要在字符串裏面有的

\b:單詞邊界

$:以什麼結尾

全局:\任意元字符\對應大寫

量詞:

  代表數量的詞,每次匹配幾個,
  貪婪匹配原則能多就多 0時一般匹配空  n+?非貪婪匹配
   n+   //{1,}
   n*   //{0,}

案例(注意我們在使用字符串相關方法時不是對他自身進行修改)

還有幾個點這邊也是可意會不可言傳啊痛苦咱看幾個案例:

1.-開頭改爲小駝峯

// -開頭形式 小駝峯
        var str = "get-element-by-tag-name";
        //getElementByTagName
        var reg = /-(\w)/g;  
        console.log(str.replace(reg , function($,$1){
            return $1.toUpperCase();
        }));

 replace方法第二個方法參數中本身$代表第幾個括號包裹內容因爲是從0開始,我們需要的是(\w)所以爲$1

這種方式也可以實現將兩個名字換位,這是另一種格式,側重於$的代表

2.字符串去重

//字符串去重
        var reg = /(\w)\1*/g;
        var str = "bbaacc";
        console.log(str.replace(reg,"$1"));

這邊主要是強調一下\1的用法,\1在正則中代表與上一位相同

3.將一串數字以英文格式輸出(三位一.)

var str = "100000000";
        var reg = /(?=(\B)(\d{3})+$)/g;
        console.log(str.replace(reg,"."));

?=爲反向索引,這邊正則表示以1~多個三個數字結尾的空。