360前端星計畫之正則的三個使用場景

2021-10-04 22:01:18 字數 1204 閱讀 1065

使用regexp建構函式const alpha='[a-z]';const reg=new regexp('$\\d+$','i');子內容可以重複使用

可以通過控制子內容粒度提高可讀性

二次轉義容易出現問題

常見用法

regexp.propotype.lastindex(),結合g使用,返回當前正規表示式最後一次匹配成功的位置,lastindex不會自己重置。

string.prototype.replace()把目標字串匹配到的地方進行替換,不帶g時只替換第乙個,帶g則全部替換

string.prototype.search()搜尋匹配字串出現的位置

string.prototype.split()

/^\d+$/^匹配字串開始位置,結合m表示匹配某一行開始位置,$匹配字串結束位置,可全字元匹配

/^[+-]?\d+(\.\d+)?$/()內為子表示式,不帶修飾符時表示建立乙個捕獲組;?作為限定符表示匹配0到1個;.匹配換行符以外的任意字元,結合s可匹配任意字元,.為轉義。

/^[+-]?(?:\d*\.)?\d+$/(?:)建立乙個非捕獲組,*匹配0個或多個

完整的數值正則

正則處理數值

仍存在問題:0的判斷,不同的單位及百分比等

數值轉貨幣格式(千分位加逗號)

const hex='[0-9a-fa-f]';

const reg=new regexp('^(?:#$|#$|#$)$')

const num=/^[+-]?(?:\d+\.?|\d*\.\d+)(?:e[+-]?\d+)?$;

const somma = '\\s*,\\s*';

const reg = new regexp('rgba?\\(\\s*$(%?)(?:$$\\1)(?:$$%?)?\\s*\\)')

- \n表示引用第n個捕獲組 

- \s用於匹配空白

- 捕獲組內的內容可選時,問號寫在捕獲組內

用正則解析search和hash

360前端星計畫 前端常用的HTTP知識

http是應用層協議。請求型別 描述get 獲取乙個資源內容 post 新增乙個資源 put更新資源內容 delete 刪除資源 options 根據返回判斷是否有對其請求的許可權 head 只返回 head,不返回實體內容 patch 更新部分內容 狀態碼描述 1xx請求已接受,需要繼續處理 2x...

MVC三個IOC注入點之Ninject使用示例

群裡乙個技術大牛說mvc有三個注入點,但我只會乙個defaultcontrolle ctory。在群友的幫助下,我大致了解了下 icontrolle ctory idependencyresolver icontrolleractivator 這三者的關係如下 其實從上面的關係可以看出來這三個注入點...

MVC三個IOC注入點之Ninject使用示例

群裡乙個技術大牛說mvc有三個注入點,但我只會乙個defaultcontrolle ctory。在群友的幫助下,我大致了解了下 icontrolle ctory idependencyresolver icontrolleractivator 這三者的關係如下 其實從上面的關係可以看出來這三個注入點...