国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

玩轉(zhuǎn)javascript RegExp對象

alexnevsky / 2197人閱讀

摘要:玩轉(zhuǎn)對象中的正則表達(dá)式的正則表達(dá)式語法極大地借鑒了另一種腳本語言的正則表達(dá)式語法對象是的一個內(nèi)置對象,與,類似。創(chuàng)建對象可通過構(gòu)造函數(shù)創(chuàng)建。當(dāng)要根據(jù)用戶輸入來構(gòu)造正則表達(dá)式時,必須采用構(gòu)造函數(shù)方式。如與被看做相同的字符模式。

玩轉(zhuǎn)javascript RegExp對象 js中的正則表達(dá)式

js的正則表達(dá)式語法極大地借鑒了另一種腳本語言Perl的正則表達(dá)式語法.
RegExp對象是js的一個內(nèi)置對象,與String,Array類似。

創(chuàng)建RegExp對象

可通過構(gòu)造函數(shù)RegExp()創(chuàng)建。---當(dāng)要根據(jù)用戶輸入來構(gòu)造正則表達(dá)式時,必須采用構(gòu)造函數(shù)方式。

var re=new RegExp("","gi");

需要注意的是這個特殊字符在js中表示退格,在正則表達(dá)式中特殊字符之前需要再加一個反斜杠,因此變成了,正則表達(dá)式作為參數(shù)傳給RegExp()構(gòu)造函數(shù),屬性字符g,i,m作為構(gòu)造函數(shù)的第二個參數(shù).

可通過字面量語法創(chuàng)建,例:

var re=/dd/;

其中斜杠(/)表示正則表達(dá)式的開始和結(jié)束。告訴js,這是一個正則表達(dá)式,就像引號是字符串的開始和結(jié)束一樣的.

語法
var patt=new RegExp(pattern,modifiers);

或者更簡單的方式:

var patt=/pattern/modifiers;

pattern(模式) 描述了表達(dá)式的模式

modifiers(修飾符) 用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配

G---全局匹配,查找所有與模式匹配的子串,而不是在找到第一個匹配的字符后就停止

I---模式不區(qū)分大小寫。如:Paul與paul被看做相同的字符模式。

m---多行標(biāo)志。制定特殊字符^和$可以匹配多行文本和字符串的開始和結(jié)束

正則表達(dá)式和String對象的split()-返回?cái)?shù)組,match-返回?cái)?shù)組,search()-返回索引,在正則表達(dá)式中也只能找到第一個匹配的字符組,全局匹配對它無效,replace()-替換結(jié)合使用才能發(fā)揮它的強(qiáng)大功能。
具體的正則表達(dá)式特殊字符就不在此列舉了(太多了)。

簡單的實(shí)例

我們就舉幾個簡單的例子了解一下正則表達(dá)式的功能實(shí)現(xiàn)
實(shí)例1. 要匹配1-800-888-5474的電話號碼,使用正則表達(dá)式:

var a="1-800-888-5474";
var re=/d-d{3}-d{3}-d{4}/gi;
var b=a.match(re);
console.log("b:"+b);

后臺輸出b:1-800-888-5474,d{3}表示出現(xiàn)三個數(shù)字,{n}表示前一項(xiàng)出現(xiàn)n次,?表示前一項(xiàng)出現(xiàn)0次或1次

實(shí)例2.

    var a="1997,1998,2000,2001,2002,2000,paul,paula,paulab,pau";    
    var b=a.match(/2000?1?2?/gi);
    var d=a.match(/paul?a?b?/gi);
    var e=a.replace(/2000?1?2?/gi,"2017")
    var f=a.replace(/paul?a?b?/gi,"room")    
    console.log("b:"+b);
    console.log("d:"+d);
    console.log("e:"+e);
    console.log("f:"+f);

輸出結(jié)果如下:

示例中,
b:輸出19世紀(jì)的年份組成的數(shù)組
d:輸出所有含有pau字符組成的數(shù)組
e:把字符串中的19世紀(jì)年份全替換為2017年
f:把字符串中含有pau的字符串全部替換為room.

實(shí)例3. 位置字符,B的深入理解

    var a="hello world,I am a girl.";
    var re1=//gi;
    var re2=/B/gi;
    var b=a.replace(re1,"|");
    var c=a.replace(re2,"|");
    console.log("b:"+b);
    console.log("c:"+c);

結(jié)果如下:

可以從結(jié)果中看出:的位置是在單詞的前后(單詞字符與非單詞字符之間的位置),B的位置在單詞的前后,除卻了位置,剩余的所有位置。

實(shí)例4. 正則表達(dá)式的分組
如何實(shí)現(xiàn)分組的,只需要將它們放在()中,正則表達(dá)式中的()是將字符模式組合起來的特殊字符,圓括號本身不是要匹配的字符。
如:

var s="javascript,vbscript and php";

要求用同一個正則表達(dá)式匹配javascript和vbscript.

var s="javascript,vbscript and php";
var re=/(vb|java)script/gi;
s=s.replace(re,"aa");
alter(s);

其中|,是分組里面的特殊字符,和||(或)的含義是一樣的。

實(shí)例5:單引號替換雙引號

var re=/B"|"B/gi;

實(shí)例6:使用$引用分組

var a="2012,2013,2014"
//把a(bǔ)修改為"2012年,2013年,2014年"
var re=/(d{4})/gi;
//就可以在替換的字符中使用序號1的分組了:
a=a.replace(re,"$1年");
//輸出2012年,2013年,2014年。

還有其他的方法可以實(shí)現(xiàn),這個我覺得相對簡便一些,具體的用法還要在實(shí)際項(xiàng)目中使用。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88420.html

相關(guān)文章

  • 一篇文章帶你玩轉(zhuǎn)正則表達(dá)式

    摘要:讀這篇文章之前你需要掌握基本的知識,并且有安靜舒適的環(huán)境與寬裕的時間,文章有點(diǎn)長,你可以選擇備好或茶來慢慢學(xué)習(xí)。文章標(biāo)題有點(diǎn)夸大了,這是一篇正則表達(dá)式的入門文章。如有錯誤,歡迎指正。 讀這篇文章之前你需要掌握基本的JavaScript知識,并且有安靜舒適的環(huán)境與寬裕的時間,文章有點(diǎn)長,你可以選擇備好coffee或茶來慢慢學(xué)習(xí)。文章標(biāo)題有點(diǎn)夸大了,這是一篇正則表達(dá)式的入門文章。如有錯誤,...

    ermaoL 評論0 收藏0
  • JavaScript正則表達(dá)式的匹配模式

    摘要:選擇分組和引用正則表達(dá)式的語法還包括指定選擇項(xiàng)子表達(dá)式分組和引用前一子表達(dá)式的特殊字符。帶圓括號的表達(dá)式的另一個用途是允許在同一正則表達(dá)式的后部引用前面的子表達(dá)式。 正則表達(dá)式(regular expression)是一個描述字符模式的對象。JavaScript的 RegExp類 表示正則表達(dá)式,String和RegExp都定義了方法,后者使用正則表達(dá)式進(jìn) 行強(qiáng)大的模式匹配和文本檢索與...

    wqj97 評論0 收藏0
  • 玩轉(zhuǎn)Koa -- koa-router原理解析

    摘要:四路由注冊構(gòu)造函數(shù)首先看了解一下構(gòu)造函數(shù)限制必須采用關(guān)鍵字服務(wù)器支持的請求方法,后續(xù)方法會用到保存前置處理函數(shù)存儲在構(gòu)造函數(shù)中初始化的和屬性最為重要,前者用來保存前置處理函數(shù),后者用來保存實(shí)例化的對象。 一、前言 ??Koa為了保持自身的簡潔,并沒有捆綁中間件。但是在實(shí)際的開發(fā)中,我們需要和形形色色的中間件打交道,本文將要分析的是經(jīng)常用到的路由中間件 -- koa-router。 ??...

    wthee 評論0 收藏0
  • 正則表達(dá)式

    摘要:本文內(nèi)容共正則表達(dá)式火拼系列正則表達(dá)式回溯法原理學(xué)習(xí)正則表達(dá)式,是需要懂點(diǎn)兒匹配原理的。正則表達(dá)式迷你書問世了讓幫你生成和解析參數(shù)字符串最全正則表達(dá)式總結(jié)驗(yàn)證號手機(jī)號中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。 JS 的正則表達(dá)式 正則表達(dá)式 一種幾乎可以在所有的程序設(shè)計(jì)語言里和所有的計(jì)算機(jī)平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...

    bang590 評論0 收藏0
  • JavaScript正則進(jìn)階之路——活學(xué)妙用奇淫正則表達(dá)式

    摘要:正則大法好,正則大法好,正則大法好,重要的事情說三遍。第二部分,這個部分是整個表達(dá)式的關(guān)鍵部分。學(xué)習(xí)正則如果還沒有系統(tǒng)學(xué)習(xí)正則表達(dá)式,這里提供一些網(wǎng)上經(jīng)典的教程供大家學(xué)習(xí)。正則表達(dá)式使用單個字符串來描述匹配一系列匹配某個句法規(guī)則的字符串。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動態(tài),大家一起多交流學(xué)習(xí),共同...

    BearyChat 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<