replace中的正則

2021-08-09 13:54:18 字數 2194 閱讀 2139

replace:把原有的字元替換成新的字元

var str = 'pku2016pku2017';

str = str.replace('pku', 'pkusoft');

console.log(str); // pkusoft2016pku2017

在不使用正則的情況下,每次執行只能替換乙個字元,每次執行都是從0開始替換,有重複的,無法全部替換

str = str.replace(/pku/g, 'pkusoft'); // 使用正則的全域性匹配

console.log(str); // pkusoftsoft2016pkusoft2017

首先和exec捕獲一樣,把所有和我們匹配正則的都捕獲到,然後把捕獲的內容替換成我們需要替換的新內容。

/pku/g按照這個正則把str中所有可以匹配的都捕獲到,然後統一都替換成』pkusoft』

replace第二個引數若是乙個函式

1. 匿名函式執行多少次,取決於正則能在字串中捕獲多少次

2. 每次執行匿名函式,arguments值和通過exec捕獲到的內容很類似

3. return 返回值就是需要去替換的內容

str = str.replace(/pku/g, function () );

console.log(str); // pkusoftsoft2016pkusoft2017

replace的分組捕獲
str = str.replace(/(\d+)/g, function () );

console.log(str); // pkusoft0000pkusoft0000

阿拉伯數字轉化為中文數字

var str = '20171001';

var arr = ["零","壹","貳","叄","肆","伍","陸","柒","捌","玖"];

str = str.replace(/\d/g,function

() );

console.log(str); // 貳零壹柒壹零零壹

查詢出現最多的字元,並顯示個數

var str = 'asdfasdfasdferqehthr';

var obj = {};

var maxnum = 0;

var arr = ;

str.replace(/[a-z]/gi, function

() );

for (var key in obj)

console.log("出現字串最多的字元是: " + arr.tostring() + " 出現了 " + maxnum + " 次"); // 出現字串最多的字元是: a,s,d,f 出現了 3 次

獲取url中的引數

var str = '';

// replace 方法

var reg = /([^?=&]+)=([^?=&]+)/g;

var obj = {};

str.replace(reg, function () );

console.log(obj); //

// exec 方法

var res = reg.exec(str);

while (res)

console.log(obj); //

格式化時間

string.prototype.myformatetime = function

() )(?:-|\/|\.|:)(\d)(?:-|\/|\.|:)(\d)(?:\s+)(\d)(?:-|\/|\.|:)(\d)(?:-|\/|\.|:)(\d)$/g;

var arr = ;

this.replace(reg, function

() );

var format = arguments[0] || "年月日 ::";

return format.replace(//g, function

() )

}var str = "2017/10/21 11:08:19";

console.log(str.myformatetime()); // 2023年10月21日 11:08:19

正則替換replace中 1的用法

一 repalce定義 用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。12 345stringobject.replace regexp substr,replacement 引數一 必需,規定的字串或者正規表示式 引數二 必需,乙個字串值。規定了替換文字或生成替換文字的函...

正則的replace方法詳解

mdn解釋 返回乙個由替換值替換一些或所有匹配的模式後的新字串。使用以下值作為替換引數 序列變數名 代表的值1 插入乙個 2 插入匹配的子串3 插入當前匹配的子串左邊的內容4 插入當前匹配的子串右邊的內容5 n 例項講解 let str abcdefg123 let rg a za z g cons...

不用正則實現js中replace全域性替換的功能

1.我們替換,一般用下面方法 qwew replace w g,這種方法,很方便 2.問題是萬一我們要替換的內容中含有特殊字元,如 這種情況下,我們就必須將 進行轉義,即 qw ew replace w g,3.還有些具體的情況下,如我們要替換的內容是可變的且含有特殊字元,那麼我們用2的方法就顯得很...