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

資訊專欄INFORMATION COLUMN

正則表達(dá)式

yuanzhanghu / 2975人閱讀

摘要:零寬斷言一般的正則表達(dá)式匹配,都是有寬度的,如。零寬度正先行斷言僅當(dāng)子表達(dá)式在此位置的右側(cè)匹配時(shí)才繼續(xù)匹配。文檔對(duì)象方法方法用于檢索字符串中的正則表達(dá)式的匹配,返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。

正則表達(dá)式

MDN文檔

名詞解析

1. 斷言
斷言,就是指明某個(gè)字符串前邊或者后邊,將會(huì)出現(xiàn)滿足某種規(guī)律的字符串。

零寬斷言:一般的正則表達(dá)式匹配,都是有 寬度 的,如:w+。 會(huì)將 "。" 一同匹配到。如果像 "。" 這樣的內(nèi)容只是一種判斷條件,即不想被正則匹配到,就要使用到 零寬斷言了。

(?=X)零寬度正先行斷言:僅當(dāng)子表達(dá)式 X 在 此位置的右側(cè)匹配時(shí)才繼續(xù)匹配。例如,w+(?=d) 與后跟數(shù)字的單詞匹配,而不與該數(shù)字匹配。此構(gòu)造不會(huì)回溯。
(?!X)零寬度負(fù)先行斷言:僅當(dāng)子表達(dá)式 X 不在 此位置的右側(cè)匹配時(shí)才繼續(xù)匹配。例如,例如,w+(?!d) 與后不跟數(shù)字的單詞匹配,而不與該數(shù)字匹配 。
(?<=X)零寬度正后發(fā)斷言:僅當(dāng)子表達(dá)式 X 在 此位置的左側(cè)匹配時(shí)才繼續(xù)匹配。例如,(?<=19)99 與跟在 19 后面的 99 的實(shí)例匹配。此構(gòu)造不會(huì)回溯。
(?:僅當(dāng)子表達(dá)式 X 不在此位置的左側(cè)匹配時(shí)才繼續(xù)匹配。例如,(?

目前JS只支持先行斷言,后發(fā)斷言還不支持。不過(guò)目前chrome支持了后發(fā)斷言。

2. 分組

分組的類型(四種):

捕獲型   - ()

非捕獲型  - (?:)

正向前瞻型 - (?=)

反向前瞻型 - (?!)

其中只有捕獲型分組會(huì)暫存匹配到的串。

一個(gè)分組中可以寫多個(gè)表達(dá)式:(表達(dá)式1|表達(dá)式2|表達(dá)式3), 表示匹配其中任意一個(gè)表達(dá)式。
分組可以通過(guò)將某些表達(dá)式組合成整體,這樣可以簡(jiǎn)化表達(dá)式的書寫。例如將/testtesttest/寫為/(test){3}/

3. 捕獲與引用

1) 嵌套分組的捕獲: 規(guī)則是以左括號(hào)出現(xiàn)的順序進(jìn)行捕獲


var reg = /((kid) is (a (doubi)))/
var str = "kid is a doubi"

reg.test( str ) // true

console.log(RegExp.$1) // kid is a doubi
console.log(RegExp.$2) // kid
console.log(RegExp.$3) // a doubi
console.log(RegExp.$4) // doubi

通過(guò) $1 可以引用捕獲的字符串

2) replace中捕獲的使用:

3) 反向引用

正則表達(dá)式里也能進(jìn)行引用,這稱為反向引用:


var reg = /(w{3}) is 1/

reg.test("kid is kid") // true
reg.test("dik is dik") // true
reg.test("kid is dik") // false
reg.test("dik is kid") // false

1引用了第一個(gè)被分組所捕獲的串,換言之,表達(dá)式是動(dòng)態(tài)決定的。

注意,如果編號(hào)越界了,則會(huì)被當(dāng)成普通的表達(dá)式:


var reg = /(w{3}) is 6/;

reg.test( "kid is kid" ); // false
reg.test( "kid is 6" ); // true

3. 字符集合

通常字符集合有由[]方括號(hào)括起來(lái)。

方法

exec、test、match、replace
segmentfault文章

replace默認(rèn)只替換第一個(gè)匹配到的字符串。
mdn文檔RegExp對(duì)象

JavaScript exec() 方法

RegExpObject.exec(string)
exec() 方法用于檢索字符串中的正則表達(dá)式的匹配,返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null;
情況 1)RegExp為非全局正則表達(dá)式;
情況 2)RegExp為全局正則表達(dá)式,exec()可以像迭代器那樣,多次調(diào)用,獲得匹配值;

JavaScript test() 方法

RegExpObject.test(string)
如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false

String.prototype.replace()方法

W3 replace方法
MDN replace方法

更多博客:https://github.com/Lmagic16/blog

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

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

相關(guān)文章

  • 正則達(dá)式

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

    bang590 評(píng)論0 收藏0
  • JS中的正則達(dá)式

    摘要:構(gòu)造函數(shù)可以有兩個(gè)字符串參數(shù),第一個(gè)參數(shù)包含正則表達(dá)式的主體部分。只讀的布爾值,說(shuō)明這個(gè)正則表達(dá)式是否帶有修飾符。中正則的擴(kuò)展構(gòu)造函數(shù)在中,只能接受字符串作為參數(shù),允許其直接接受正則表達(dá)式作為參數(shù)。 上文傳送門:初探正則表達(dá)式 正則表達(dá)式是一個(gè)描述字符模式的對(duì)象,JavaScript 的 RegExp 類表示正則表達(dá)式,String 和 RegExp 都定義了方法,后者使用正則表達(dá)式進(jìn)...

    Soarkey 評(píng)論0 收藏0
  • JavaScript正則達(dá)式總結(jié)

    摘要:正則表達(dá)式一直是里比較難以掌握的點(diǎn)。在中創(chuàng)建正則的兩種方式使用字面量這就是正則表達(dá)式的字面量語(yǔ)法,表示正則表達(dá)式的模式,為正則表達(dá)式的標(biāo)志。字面量形式的正則表達(dá)式一般使用較多,也推薦大家盡可能使用這種形式,簡(jiǎn)潔易讀,符合正常的使用習(xí)慣。 正則表達(dá)式一直是js里比較難以掌握的點(diǎn)。 看不懂,學(xué)不會(huì),記不住。 每次需要用到正則的時(shí)候,都需要再去查找資料。 今天花時(shí)間把正則的知識(shí)點(diǎn)總結(jié)下,希望...

    big_cat 評(píng)論0 收藏0
  • 正則與JS中的正則

    摘要:注意本文將正則與中的正則分開討論。正則零寬斷言更多參考各種語(yǔ)言對(duì)于正則不同支持參考單行模式與多行模式通過(guò)設(shè)置正則表達(dá)式后的修飾符可開啟對(duì)應(yīng)的匹配模式單行模式和多行模式。 最近這段時(shí)間幫同學(xué)處理一些文檔, 涉及到一些結(jié)構(gòu)化文檔的工作大部分都得使用正則表達(dá)式, 之前對(duì)于正則的認(rèn)識(shí)大多來(lái)源于語(yǔ)言書上那幾頁(yè)的介紹, 自己也沒有用過(guò)幾次。這里將我之前感到模糊的概念作個(gè)整理。因?yàn)閷?duì)JS了解多點(diǎn),所...

    firim 評(píng)論0 收藏0
  • JavaScript正則達(dá)式的匹配模式

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

    wqj97 評(píng)論0 收藏0
  • 正則達(dá)式

    摘要:最全正則表達(dá)式總結(jié)驗(yàn)證號(hào)手機(jī)號(hào)中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對(duì)字符串執(zhí)行模式匹配。學(xué)習(xí)目標(biāo)了解正則表達(dá)式語(yǔ)法在中使用正則表達(dá)式在中使 JS高級(jí)技巧 本篇是看的《JS高級(jí)程序設(shè)計(jì)》第23章《高級(jí)技巧》做的讀書分享。本篇按照書里的思路根據(jù)自己的理解和經(jīng)驗(yàn),進(jìn)行擴(kuò)展延伸,同時(shí)指出書里的一些問(wèn)題。將會(huì)討論安全的類型檢測(cè)、惰性載入函數(shù)、凍結(jié)對(duì)象、定時(shí)器等話題。1. 安全的類型檢測(cè)...

    yibinnn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<