成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

正則表達(dá)式常用方法和規(guī)則整理

FleyX / 2513人閱讀

摘要:二常用字符串對(duì)象方法檢索與正則表達(dá)式相匹配的值,返回中第一個(gè)與相匹配的子串的起始位置,如果沒(méi)有找到返回方法不執(zhí)行全局匹配,它將忽略標(biāo)志。找到一個(gè)或多個(gè)正則表達(dá)式的匹配,返回匹配的字符串?dāng)?shù)組。替換與正則表達(dá)式匹配的子串。

作者:心葉
時(shí)間:2018-04-28 09:33

一:常用正則對(duì)象方法
RegExpObject.exec(string)

檢索字符串中指定的值,如果匹配到,返回格式如下: { 0:"匹配的字符串", 1:"匹配的第一個(gè)元祖,如果有的話", 2:"以此類推,第二個(gè)元祖", ...... index:"匹配文本的第一個(gè)字符的位置", input:"輸入的匹配的原來(lái)字符串", length:"0,1,2,...的個(gè)數(shù)" } exec如果匹配不到,返回null。

重要事項(xiàng):完成了一次模式匹配之后檢索新的字符串前應(yīng)該手動(dòng)地把正則對(duì)象的lastIndex屬性重置為 0。

RegExpObject.test(string)

檢索字符串中指定的值,如果字符串 string 中含有與RegExpObject匹配的文本,則返回 true,否則返回 false。

二:常用字符串對(duì)象方法
stringObject.search(regexp)

檢索與正則表達(dá)式相匹配的值,返回stringObject中第一個(gè)與regexp相匹配的子串的起始位置,如果沒(méi)有找到返回-1;search()方法不執(zhí)行全局匹配,它將忽略標(biāo)志 g。它同時(shí)忽略regexp的lastIndex屬性,并且總是從字符串的開(kāi)始進(jìn)行檢索,這意味著它總是返回stringObject的第一個(gè)匹配的位置。

stringObject.match(searchvalue|regexp)

找到一個(gè)或多個(gè)正則表達(dá)式的匹配,返回匹配的字符串?dāng)?shù)組。

stringObject.replace(regexp|substr,replacement|function)

替換與正則表達(dá)式匹配的子串。
溫馨提示:其中function傳遞進(jìn)去的是匹配的字符串,return返回的是最后替換成的,類似管道的寫(xiě)法。

 stringObject.split(separator[,howmany])

把字符串分割為字符串?dāng)?shù)組,返回切割后的數(shù)組。

三:零寬斷言

零寬,意味者不會(huì)返回匹配的字符;斷言,就是預(yù)測(cè)此處是什么。因此這是一種匹配不返回,只是猜測(cè)固定位置應(yīng)該是什么的存在。

3.1 匹配目標(biāo)的后面是exp:(?=exp)

比如現(xiàn)在需要匹配一個(gè)單詞是以ing結(jié)尾的,但是結(jié)尾的ing不捕獲,可以這樣使用:

//返回結(jié)果是["do", "heee"]。

"name-doing-text-heeeing".match(/([a-z]+(?=ing))/g);

3.2 匹配目標(biāo)的后面不是exp:(?!exp)

比如現(xiàn)在需要在一個(gè)單詞里面尋找一些字母,這些字母的下一個(gè)字母不可以是e,可以這樣使用:

//返回的結(jié)果是["d", "e", "a", "m"]

"dream".match(/([a-z]{1}(?!e))/g);

3.3.(? <=exp)【 匹配exp后面的位置[親自測(cè)試JavaScript中不支持]】

3.4 "(?

如 "abc123 " 正則 "(? 四:懶惰限定符

1."*?"【重復(fù)任意次,但盡可能少重復(fù)】

//1-name-2
"1-name-2-name-2".match(/1.*?2/);

//1-name-2-name-2
"1-name-2-name-2".match(/1.*2/);

2.+?【重復(fù)1次或更多次,但盡可能少重復(fù)】

3.??【重復(fù)0次或1次,但盡可能少重復(fù)】

4.{n,m}?【重復(fù)n到m次,但盡可能少重復(fù)】

5.{n,}?【重復(fù)n次以上,但盡可能少重復(fù)】

五:捕獲分組

1.(exp)【匹配exp,并捕獲文本到自動(dòng)命名的組里】

2.(?exp)【匹配exp,并捕獲文本到名稱為name的組里[親自測(cè)試JavaScript中不支持]】

3.(?:exp)【匹配exp,不捕獲匹配的文本,也不給此分組分配組號(hào)】

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94684.html

相關(guān)文章

  • PHP正則達(dá)式規(guī)則常用方法整理

    摘要:和均為非負(fù)整數(shù),其中。如果之前至少個(gè)獲取的子表達(dá)式,則為后向引用。 注:本文轉(zhuǎn)自 摘取天上星的博客 PHP常用正則表達(dá)式 ^d+$  //非負(fù)整數(shù)(正整數(shù)+ 0) ^[0-9]*[1-9][0-9]*$  //正整數(shù) ^((-d+)|(0+))$  //非正整數(shù)(負(fù)整數(shù)+ 0) ^-[0-9]*[1-9][0-9]*$  //負(fù)整數(shù) ^-?d+$    //整數(shù) ^d+(.d+)?$ ...

    UCloud 評(píng)論0 收藏0
  • 搞定PHP面試 - 正則達(dá)式知識(shí)點(diǎn)整理

    摘要:是決定正則表達(dá)式匹配規(guī)則的主要部分。二分隔符分隔符的選擇當(dāng)使用函數(shù)的時(shí)候,正則表達(dá)式必須由分隔符閉合包裹。果分隔符經(jīng)常在正則表達(dá)式內(nèi)出現(xiàn),最好使用其他分隔符來(lái)提高可讀性。需要將一個(gè)字符串放入正則表達(dá)式中使用時(shí),可以用函數(shù)對(duì)其進(jìn)行轉(zhuǎn)義。 一、簡(jiǎn)介 1. 什么是正則表達(dá)式 正則表達(dá)式(Regular Expression)就是用某種模式去匹配一類字符串的一種公式。正則表達(dá)式使用單個(gè)字符串來(lái)...

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

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

    bang590 評(píng)論0 收藏0
  • 正則達(dá)式-溫故而知新

    摘要:正則表達(dá)式重新整理學(xué)習(xí),為了加深印象,發(fā)現(xiàn)了之前遺漏的一個(gè)非常重要的知識(shí)點(diǎn)優(yōu)先選擇最左端的匹配結(jié)果,這個(gè)規(guī)則上創(chuàng)建正則的方式直接字面量的創(chuàng)建通過(guò)雙斜杠,在中間添加匹配的規(guī)則,這樣就是一個(gè)正則表達(dá)式了通過(guò)構(gòu)造函數(shù)創(chuàng)建通過(guò)構(gòu)造函數(shù)來(lái)創(chuàng)建正則對(duì)象 正則表達(dá)式 重新整理學(xué)習(xí),為了加深印象,發(fā)現(xiàn)了之前遺漏的一個(gè)非常重要的知識(shí)點(diǎn)優(yōu)先選擇最左端的匹配結(jié)果,這個(gè)規(guī)則 js上創(chuàng)建正則的方式 直接字面...

    snowell 評(píng)論0 收藏0
  • 正則系列——JavaScript正則達(dá)式入門(mén)心得

    摘要:對(duì)前端來(lái)說(shuō),使用的場(chǎng)景不多,但是像微信端的對(duì)話系統(tǒng)的表情包,就使用到了一個(gè)特定的規(guī)則。我是一個(gè)前端,工作年了,現(xiàn)在失業(yè),想進(jìn)入騰訊工作,這是我的聯(lián)系方式這個(gè)正則雖 我發(fā)現(xiàn)有個(gè)別字符被這個(gè)編輯器給刷掉了,但是灰色區(qū)域顯示正常,以灰色區(qū)域代碼為準(zhǔn) 什么玩意? 在我剛開(kāi)始學(xué)習(xí)編程的時(shí)候,就聽(tīng)過(guò)正則了,也聽(tīng)說(shuō)正則很牛逼,懂正則的更牛逼。但是苦于沒(méi)有人指點(diǎn),也沒(méi)有使用正則的場(chǎng)景,自己看教程又懵逼...

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

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

0條評(píng)論

閱讀需要支付1元查看
<