javascriptRegex中用於replace的一點心得。

來源:互聯網
上載者:User

Regex我經常用,但是用的都是最基礎的,基本上都是用於驗證一個字串的合理性。例如:

var m="12345";

var n=/^/d+$/;

if(n.test(m)) alert('ok');

今天看了一個關於replace方法中用正則的例子,很有價值,可以輕鬆的實現諸如lenb和trim方法。

我想總結的不是這個,而是在replace中模式與$的替換,例如:

var m=eval("/(northsnow)+/g");

var n="i am northsnow,I come from Jilin";

var t=n.replace(m,"<b>$1</b>");

alert(n);

則 得到:i am <b>northsnow</b>,I come from Jilin";

括弧裡面的模式比對的結果會被提取出來放到$變數中,$1儲存第一個模式的匹配,$2儲存第二個模式的匹配,以此類推。

例如:

 var m="northsnow is a good man";

var n=m.replace(/(/s)([a-z]+)/g,"$1")

得結果:northsnow 

var n=m.replace(/(/s)([a-z]+)/g,"$2")

得結果:northsnowisagoodman

另外,還有一個/num可以用,這裡邊的num是一個整數,表示將第num個模式拿過來放到這裡。

如果(.)/1表示連續重複的兩個字元。

如果(.)/d*/1 表示有兩個相同的字元,中間夾了n個數字,n>=0

具體就不舉例子了。只要掌握了技巧,那麼就靠實踐來積累經驗了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.