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

資訊專欄INFORMATION COLUMN

正則表達式隨筆

spademan / 1531人閱讀

摘要:如果匹配成功,則返回正則表達式在字符串中首次匹配項的索引否則,返回。參數(shù)如果傳入一個非正則表達式對象,則會隱式地使用將其轉(zhuǎn)換為一個參數(shù)如果你未提供任何參數(shù),直接使用,那么你會得到一個包含空字符串的。

正則表達式

一直使用簡單的正則表達式,遇到難點的就無法簡潔高效的寫出正則,故此整理一篇需要記憶應(yīng)用的正則使用。

正則表達式作用

匹配一個字符串的子字符串(子集),或者替換該字符串。

不得不提的String和reg的常用方法

codePointAt(pos) 方法:得到字符的碼位。漢字可以得到完整的碼位

fromCodePoint() 方法:參數(shù)提供字符的碼位返回對應(yīng)的字符

include() 方法: 如果檢測到指定文本就返回true,否則返回false。接受第二個參數(shù)為開始搜索的指定索引值

startsWith() 方法: 如果在起始位置檢測到指定文本就返回true,否則返回false。接受第二個參數(shù)為開始搜索的指定索引值

endsWith() 方法: 從字符串末尾往前匹配。如果在結(jié)束部分檢測到指定文本返回true,否則返回false。接受第二個參數(shù)為開始搜索的指定索引值

repeat()方法: "o".repeat(3) // ooo 表示重復(fù)某個字符串指定次數(shù)

reg.test(str)方法: test()方法執(zhí)行一個檢索,用來查看正則表達式在指定的字符串(str)中是否能被匹配。返回 true 或 false。

reg.exec(str)方法: 方法在一個指定字符串中執(zhí)行一個搜索匹配。找到返回一個結(jié)果數(shù)組或未找到 null。 返回的數(shù)組將完全匹配成功的文本作為第一項,將正則括號里匹配成功的作為數(shù)組填充到后面

全局調(diào)用和非全局調(diào)用:全局調(diào)用時,在匹配后,它將把RegExp實例的lastIndex屬性設(shè)置為匹配文本的最后一個字符的下一個位置,當 exec() 再也找不到匹配的文本時,它將返回null,并把lastIndex屬性重置為0

str.search(reg)方法: 執(zhí)行正則表達式和 String對象之間的一個搜索匹配。如果匹配成功,則 search() 返回正則表達式在字符串中首次匹配項的索引,否則,返回 -1。與上面的reg.test()類似可判斷是否存在某個正則模式

search() 方法不執(zhí)行全局匹配,它將忽略標志g,它同時忽略正則表達式對象的lastIndex屬性,并且總是從字符串的開始進行檢索,這意味著它總是返回字符串的第一個匹配的位置

如果傳入一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉(zhuǎn)換為正則表達式對象。

str.match(reg)方法: 當一個字符串與一個正則表達式匹配時, match()方法檢索匹配項。

參數(shù):如果傳入一個非正則表達式對象,則會隱式地使用 new RegExp(obj) 將其轉(zhuǎn)換為一個reg

參數(shù):如果你未提供任何參數(shù),直接使用 match() ,那么你會得到一個包含空字符串的 Array :[""] 。

返回值:如果字符串匹配到了表達式,會返回一個數(shù)組,數(shù)組的第一項是進行匹配完整的字符串,之后的項是用圓括號捕獲的結(jié)果。如果沒有匹配到,返回null

全局調(diào)用:全局匹配返回的數(shù)組的內(nèi)容與非全局大不相同,它的數(shù)組元素中存放的是字符串中所有的匹配子串,而且也沒有index屬性或input屬性

非全局調(diào)用:只在字符串中匹配依次,若沒有匹配到文本,match()返回null,匹配到返回一個數(shù)組,數(shù)組中第一個元素存放匹配到的文本,其余的元素存放的是與正則表達式的子表達式匹配的文本,數(shù)組具有兩個屬性,index ( 匹配文本的起始字符在字符串位置 )和 input屬性

String.prototype.replace(reg, function): 是將匹配內(nèi)容應(yīng)用函數(shù)后返回一個新字符串。

String.prototype.split(reg): 以指定的分隔符字符串將一個String對象分割成字符串數(shù)組, 如果分隔符是("")則會每個字符都切割。

注意:當字符串為空時,split()返回一個包含一個空字符串的數(shù)組,而不是一個空數(shù)組,如果字符串和分隔符都是空字符串,則返回一個空數(shù)組。

Array.prototype.join()方法: join() 方法將一個數(shù)組(或一個類數(shù)組對象)的所有元素連接成一個字符串并返回這個字符串,不改變原數(shù)組。

參數(shù): 指定一個字符串將數(shù)組的每一個元素以這個字符串拼接,()為空默認為,("")是引號時則元素之間沒有任何字符。這個方法常常和String.prototype.split()連用

一些常用的匹配字符

預(yù)定義類

字符集 等價于
. [ ^ rn ] 除了換行和回車符之外所有字符
d [ 0-9 ]
D [ ^ 0-9 ]
s [ tvnr ] 包含制表符、空格、垂直制表符
S [ ^ tvnr ]
w [a-zA-Z ]
W [ ^ a-zA-Z ]

量詞

重復(fù)修飾符 描述 示例
{n} 指定n 次 /d{5}/數(shù)字出現(xiàn)5次
{n,} 最少n次 /d{5,}/數(shù)字至少出現(xiàn)5次
{n,m} n值m次
? 最多一次,{0,1}
+ 最少一次
* 任意次

邊界字符集

字符 含義
^ 以 xxx開頭
$ 以 xxx結(jié)尾
 單詞邊界
B 非單詞邊界
正則語法 構(gòu)造方式

const re1 = /d/ 字面量語法 創(chuàng)建

const re2 = new RegExp(d) 構(gòu)造函數(shù) 創(chuàng)建

使用正則搜索
str = "It will rain tomorrow"

//字符串在前
str.startWith("will") //true
str.endsWith("will") //true
str.includes("will") //true

str.match(/w{3,}/g) // will rain tomorrow
str.search(/w{3,}/g) // 3

//正則表達式在前

/w{3,}/g.test(str) //true

....
常用用法

常用修飾符

g:global,全文搜索,不添加的話搜索到第一個結(jié)果停止搜索
i:ingore case,忽略大小寫,默認大小寫敏感
m:multiple lines,多行搜索

D 和 S W常用來去除不想要的

D可用來去除不是數(shù)字的的字符

比如: var yourNumber  = "phoneNumber15555555555"
var number.replace(/D/,"")

S 可用來確保必填字段中字符

var username = "  daixixi "
var value = /S/.test(username)

各種修飾符時修飾前一個元素出現(xiàn)的次數(shù)

var a = "hello world2hello china".match(/w+/)

.匹配除了換行和回車符之外字符,可以使用[/sS/]匹配所有字符

分組 : 當某一個修飾符對前一個元素進行影響時,若想對一組有作用則使用分組 /(ab)+/ 匹配至少一組連續(xù)的ab

__或__: 使用豎線表示或,/a|b/ 表示匹配a或b(有個笑話就是這個|寫成中文的丨怎么都查不出。。。)

取反 :有限字符集以外的字符 /[^abc]/ 除abc以外字符

__范圍__: 使用[a-z] 表示a到z 之間任意一個

__字符類__:使用[]來構(gòu)建一個簡單的類,/[abc]/ 表示匹配其中任意一個均可

貪婪模式和非貪婪模式: 在設(shè)置了量詞后匹配是默認是貪婪模式會即以最大的量詞進行匹配,不過在量詞后面加上?后就可以取最小量詞進行匹配,是否匹配結(jié)束一般取決于是否加g

    "123456789".match(/d{3,5}/g); //["12345", "6789"]  
    "123456789".match(/d{3,5}?/g); //["123", "456", "789"]  

分組嵌套:

var str = "

前瞻:

表達式 含義
exp1(?=exp2) 匹配后面是exp2的exp1
exp1(?!exp2) 匹配后面不是exp2的exp1

得到是exp1的值,不過需要滿足條件才會被匹配中

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

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

相關(guān)文章

  • 《JavaScript權(quán)威指南》隨筆(一)

    摘要:每個構(gòu)造函數(shù)定義了一類對象,表示由構(gòu)造函數(shù)初始化對象的集合。嚴格模式下,明確禁止八進制數(shù)。日期和時間構(gòu)造函數(shù)用來創(chuàng)建表示日期和時間的對象,包含方法。模式匹配函數(shù)是一個構(gòu)造函數(shù),創(chuàng)建正則表達式。布爾值表示兩種狀態(tài),使用保留字和。 《Javascript權(quán)威指南》就是前端工程師口中常說的犀牛書,得名是因為中文翻譯出版的書籍封面是一只犀牛,是學(xué)習(xí)JavaScript的必讀書籍。 JavaSc...

    SwordFly 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    muddyway 評論0 收藏0
  • 項目隨筆

    摘要:在中請求服務(wù)器數(shù)據(jù),并將結(jié)果,也可以在結(jié)果中再添加一些數(shù)據(jù)再,這樣,在中就可以用來獲取這些結(jié)果了。當語句里面沒有表達式,只是某個值時如它會自動執(zhí)行操作,即 1.render中最好不要放處理數(shù)據(jù)的邏輯,不能改變props,state的值,不然render后又得render一次,造成多次render),render中不要用localStorate,和sessionStorage(這算是操作...

    everfly 評論0 收藏0

發(fā)表評論

0條評論

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