正則表達式(前端常用知識整理)

定義

匹配規(guī)律規(guī)則的表達式,通常用來檢索、替換符合某個模式的文本。

組成

  • 元字符串
元字符 匹配說明
\d 數(shù)字
\D 非數(shù)字
\w 字母、數(shù)字、下劃線
\W 非字母、數(shù)字、下劃線
\s 空白符
\S 非空白符
. 除換行符以外的任意單個字符
^ 以誰開始
$ 以誰結(jié)束
  • 限定符
限定符 重復(fù)說明
* 大于等于0次
+ 大于等于1次
? 0次或者1次
{n} n次
{n,} 大于等于n次
{n,m} n到m次
  • 其他
字符 說明
[ ] 匹配中括號中任一字符
[ ^ ] 匹配除中括號內(nèi)容以外的字符
\ 轉(zhuǎn)義符
| 或者
() 組,圓括號內(nèi)的內(nèi)容表示的是一個表達式
作用
  • 匹配:給定的字符串是否符合正則表達式的過濾邏輯
        var str = "2018-8-8";
        var reg = /^\d{4}-\d{1,2}-\d{1,2}$/gi;
        console.log(reg.test(str)); // true
  • 提?。菏褂谜齽t表達式,從字符串中進行提取
        //  提取
        var str = "西虹市首富: 2391.70, 狄仁杰之四大天王: 623.70, 風語咒: 425.00";
        var reg = /[0-9]+([.]{1}[0-9]+){0,1}/g;
        var arr = str.match(reg);
        console.log(arr); // (3) ["2391", "623.70", "425.00"]
        //  分組提取
        var str = "西虹市首富:2391";
        var reg = /([\u4e00-\u9fa5]+):([0-9]+)/g;
        if (reg.test(str)) {
            console.log(RegExp.$1); // 西虹市首富
            console.log(RegExp.$2); // 2391
        }
  • 替換:替換字符串
        var str = "西  虹  市 首 富:2391";
        var reg = /\s/g;
        var strNew = str.replace(reg, "");
        console.log(strNew); //西虹市首富:2391
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容