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

資訊專欄INFORMATION COLUMN

正則表達(dá)式

Yangyang / 1413人閱讀

摘要:將用作括號(hào)表達(dá)式中的第一個(gè)字符,則會(huì)對(duì)字符集求反匹配結(jié)尾的位置與一個(gè)字邊界匹配,比如與中的匹配,但與中的不匹配非邊界字匹配標(biāo)記字符組,標(biāo)記括號(hào)表達(dá)式的開始和結(jié)尾。

字符

| 表示在兩個(gè)或多個(gè)項(xiàng)之間進(jìn)行選擇,類似或
/ 開始和結(jié)尾
轉(zhuǎn)義

- 連字符,當(dāng)且僅當(dāng)在字符組 [] 的內(nèi)部表示一個(gè)范圍,比如[A-Z]表示范圍從AZ;如果需要在字符組里面表示普通字符 - ,放在字符組的開頭或結(jié)尾即可
. 匹配出換行符 之外的任何單個(gè)字符
d 等價(jià)[0-9],匹配09數(shù)字
D 等價(jià)[^0-9],與 d 相反
w 匹配以下字符:A-Z、a-z、0-9個(gè)下劃線,等價(jià)于 [A-Za-Z0-9]
W [^A-Za-z0-9]

限定符(量詞字符)

顯示限定符位于大括號(hào){}中,并包括指示出現(xiàn)次數(shù)上下限的數(shù)值; *+? 這三個(gè)字符屬于單字符限定符:

{n} 剛好匹配 n 請(qǐng)輸入代碼次
{n,} 至少匹配 n
{n,m} 匹配至少 n 次,至多 m 次,即匹配 nm
* 等價(jià) {0,}
+ 等價(jià) {1,}
? 等價(jià) {0,1}

注意

顯示限定符中,逗號(hào)和數(shù)字之間不能有空格,否則返回null

貪婪量詞 *+JavaScript默認(rèn)是貪婪匹配,即匹配重復(fù)字符是盡可能多的匹配

惰性(最少重復(fù)匹配)量詞 :當(dāng)進(jìn)行貪婪匹配,只需要在要匹配的字符后面加上一個(gè) ? 即可

var reg = /a+/;
var reg2 = /a+?/;
var str = "aaab";
str.match(reg); // ["aaa"]
str.match(reg2); // ["a"]

定位點(diǎn)(錨字符、邊界)

^ 匹配開始的位置。將 ^ 用作括號(hào) [] 表達(dá)式中的第一個(gè)字符,則會(huì)對(duì)字符集求反
$ 匹配結(jié)尾的位置
 與一個(gè)字邊界匹配,比如 er 與 "never" 中的 "er" 匹配,但與 "verb" 中的 "er" 不匹配
B 非邊界字匹配

標(biāo)記

[] 字符組,標(biāo)記括號(hào)表達(dá)式的開始和結(jié)尾。[...] 匹配括號(hào)內(nèi)任意字符。很多字符在 [] 都會(huì)失去原來(lái)的意義:[^...] 匹配不在括號(hào)內(nèi)的任意字符;[?.]匹配普通的問(wèn)號(hào)和點(diǎn)號(hào)

注意:

[] 中仍為轉(zhuǎn)義字符。如果要匹配反斜杠字符,使用兩個(gè)反斜杠
{} 標(biāo)記限定符表達(dá)式的開始和結(jié)尾
{} 標(biāo)記子表達(dá)式的開始和結(jié)尾,主要作用是分組,對(duì)內(nèi)容進(jìn)行區(qū)分
(模式) 記住和這個(gè)模式匹配的匹配項(xiàng)(捕獲分組),不要濫用括號(hào),如果不需要保存子表達(dá)式,可使用非捕獲型括號(hào) (?:) 來(lái)進(jìn)行性能優(yōu)化
(?:模式) 與模式匹配,但不保存匹配項(xiàng)(非捕獲分組)
(?=模式) 零寬正向先行斷言,要求匹配與模式匹配的搜索字符串。找到一個(gè)匹配項(xiàng)后,將在匹配文本之前開始搜索下一個(gè)匹配項(xiàng);但不會(huì)保存匹配項(xiàng)
(?!模式) 零寬負(fù)向先行斷言,要求匹配與模式不匹配的搜索字符串。找到一個(gè)匹配項(xiàng)后,將在匹配文本之前開始搜索下一個(gè)匹配項(xiàng);但不會(huì)保存匹配項(xiàng)
先行斷言 ?= 模式:x 只有在 y 前面才匹配,必須寫成 /x(?=y)/。解釋:找一個(gè) x,那個(gè) x 的后面要有 y
先行否定斷言 ?! 模式:x 只有不在 y 前面才匹配,必須寫成 /x(?!y)/。解釋:找一個(gè) x,那個(gè) x 的后面沒有 y

ES7提案

后行斷言( ?<= 模式):與”先行斷言”相反, x 只有在y后面才匹配,必須寫成 /(?<=y)x/。解釋:找一個(gè) x,那個(gè) x 的前面要有 y
后行否定斷言 ( ?<! 模式): 與”先行否定斷言“相反,x 只有不在y后面才匹配,必須寫成 /(?<!y)x/。 解釋:找一個(gè)x ,那個(gè) x 的前面沒有 y
反向引用:主要作用是給分組加上標(biāo)識(shí)符 ln n 表示引用字符,與第 ln 個(gè)子表達(dá)式第一次匹配的字符相匹配

var str = "
" + "
" + "" + "
" + "
"; // <(?!img) 表示找一個(gè)左尖括號(hào)<,而且左尖括號(hào) < 的后面沒有img字符; // (?:.| | )*? 表示匹配左右尖括號(hào)<>里面的.或 或 ,而且匹配次數(shù)為*?;(?:)不保存匹配項(xiàng),提高性能; // *后面加個(gè)? 表示非貪婪匹配。 var reg = /<(?!img)(?:.| | )*?>/gi; str.match(reg);

反向引用的例子,給 MikeMike 字符后加個(gè)單引號(hào):

var reg = /(Mike)(1)(s)/;
var str = "MikeMikes";
console.log(str.replace(reg, "$1$2"$3"));
// 返回結(jié)果 MikeMike"s

非打印字符

s 任何空白字符。即 [f v]
S 任何非空白字符
Tab 字符 (u0009)
換行符 (u000A)
v 垂直制表符 (u000B)
f 換頁(yè)符 (u000C)
回車符 (u000D)

注意

一起使用,即 /[ ]/g 來(lái)匹配換行,因?yàn)?Unix 擴(kuò)展的系統(tǒng)以 標(biāo)志結(jié)尾,Windows 標(biāo)志結(jié)尾

其他

cx 匹配 x 指示的控制字符,要求 x 的值必須在 A-Za-z 范圍內(nèi)
xn 匹配 n n 是一個(gè)十六進(jìn)制轉(zhuǎn)義碼,兩位數(shù)長(zhǎng)
un 匹配 n 其中 n 是以四位十六進(jìn)制數(shù)表示的 Unicode 字符
m 先嘗試反向引用,不可則再嘗試標(biāo)識(shí)為一個(gè)八進(jìn)制轉(zhuǎn)義碼
ml 當(dāng) n 是八進(jìn)制數(shù)字 (0-3)ml 是八進(jìn)制數(shù)字 (0-7) 時(shí),匹配八進(jìn)制轉(zhuǎn)義碼 nml

修飾符

i 執(zhí)行不區(qū)分大小寫的匹配
g 執(zhí)行一個(gè)全局匹配,即找到所有的匹配,而不是在找到第一個(gè)之后就停止
m 多行匹配模式,^ 匹配一行的開頭和字符串的開頭,$ 匹配行的結(jié)束和字符串的結(jié)束
ES6新增 uy 修飾符

u 修飾符 Unicode 模式,用來(lái)正確處理大于 uFFFFUnicode 字符。正確處理四個(gè)字節(jié)的 UTF-16 編碼

// 加u修飾符以后,ES6就會(huì)識(shí)別uD83DuDC2A為一個(gè)字符,返回false。
/^uD83D/u.test("uD83DuDC2A");  // false
/^uD83D/.test("uD83DuDC2A"); // true

y 修飾符 與g 修飾符都是全局匹配,不同之處在于:lastIndex 屬性指定每次搜索的開始位置,g 修飾符從這個(gè)位置開始向后搜索,直到發(fā)現(xiàn)匹配為止;但是 y 修飾符要求必須在 lastIndex 指定的位置發(fā)現(xiàn)匹配,即 y 修飾符確保匹配必須從剩余的第一個(gè)位置開始

/b/y.exec("aba")  // null
/b/.exec("aba")  // ["b"]

優(yōu)先級(jí)順序

轉(zhuǎn)義符
(),(?:),(?=),[] 括號(hào)和中括號(hào)
*、+、?、{n}、{n,}、{n,m} 限定符
任何元字符 ^、$、 定位點(diǎn)和序列
| 替換

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/82367.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元查看
<