<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        JS正則表達(dá)式要點分析

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:04:24
        文檔

        JS正則表達(dá)式要點分析

        JS正則表達(dá)式要點分析:本文主要和大家分享JS正則表達(dá)式的要點,由于之前在看VueJS的源碼, 看到了HtmlParser部分, 感覺以前看的正則表達(dá)式基礎(chǔ)知識已經(jīng)完全不夠用了, 現(xiàn)翻閱博客資料, 將一些JS中正則表達(dá)式難用的部分總結(jié)歸納, 方便自己和sf友翻閱.正則分組重復(fù)匹配對于重復(fù)的匹配,
        推薦度:
        導(dǎo)讀JS正則表達(dá)式要點分析:本文主要和大家分享JS正則表達(dá)式的要點,由于之前在看VueJS的源碼, 看到了HtmlParser部分, 感覺以前看的正則表達(dá)式基礎(chǔ)知識已經(jīng)完全不夠用了, 現(xiàn)翻閱博客資料, 將一些JS中正則表達(dá)式難用的部分總結(jié)歸納, 方便自己和sf友翻閱.正則分組重復(fù)匹配對于重復(fù)的匹配,

        后向引用(反向引用)

        我們考慮一個很特殊的情況, 當(dāng)我們要匹配四個IP段相同的情況, 如 100.100.100.100 時, 重復(fù)匹配分組的策略失效了: 重復(fù)匹配分組 并不能保證匹配相同的數(shù)字 -> 這時候我們需要借助 后向引用 策略的力量了(少年, 你渴望力量嗎2333, 戳我頭像, 帶你探索音樂與代碼交織的文藝道路.)

        后向引用在不同語言的正則表達(dá)式書寫中, 有不同的語法, 我們討論JS中最常見的一種, 形如: \number 的后向引用, 其中, number 代表分組的序號.

        給你一個簡單的栗子, 瞬間就記住了, 假使我們要匹配重復(fù)的三位數(shù)字, 我們將匹配一個數(shù)字的規(guī)則標(biāo)記為一個分組: (\d), 重復(fù)匹配這個分組(第一個分組)的具體內(nèi)容三次: (\d)\1, 這樣就達(dá)到了目的.

        我們很容易將重復(fù)匹配和后向引用分別開來: 前者是重復(fù)匹配相同的規(guī)則, 后者是匹配分組的具體內(nèi)容.

        默認(rèn)的一些規(guī)則需要稍加理解并記住:

      1. \0代表的是, 整個正則表達(dá)式的匹配的內(nèi)容

      2. 正則斷言

        還記得我看過的一篇大概名為<30分鐘學(xué)會正則表達(dá)式>的文章中, 里面提及過正則斷言.
        當(dāng)時感覺真是一看就懂. 但很遺憾, 實際生產(chǎn)中, 使用各種復(fù)雜正則表達(dá)式的情況實在是太少, 今天如果不翻閱百度, 我恐怕是不能記起斷言的分類和各種使用方法了.

        斷言的字面意思便是, 斷定(程序)運行到此時(結(jié)果)是這樣的"場景", 它描述的是一種 場景, 換句話說, 是一種"肯定的場景". 但要記住的是, 我們的"結(jié)果"是不包含在"場景"里面的.

        VueJS里頭需要匹配HTML tag, 我們就以匹配: '<segment>Not Fault</segment>' 中的 'Not Fault' 為例吧.

        我們?nèi)绻褂闷胀ǖ恼齽t表達(dá)式, 如 /<segment>.*</segment>/ 會匹配到整個字符串 '<segment>Not Fault</segment>'. 我們使用斷言, 以"場景"的方式思考: '<segment>' 和 '</segment>' 是一種"肯定的場景", 我們需要匹配的結(jié)果是: 'Not Fault', 無論tag內(nèi)部的字符無論如何變化, tag頭和tag尾都是不變的.

        一鼓作氣, 我們繼續(xù)往下

        先行斷言

        先行斷言, 我是這樣理解的: 先匹配內(nèi)容, 再做"場景"假設(shè).

        放到我們先前的栗子中, 便這樣匹配, 一直匹配內(nèi)容, 直到碰上 '</segment>' 的場景, 語法如下: (?=</segment>)

        后發(fā)斷言

        后發(fā)斷言, 我的理解是: 先匹配場景, 再匹配內(nèi)容.

        放到我們先前的栗子中, 先匹配 '<segment>' 的場景, 再繼續(xù)往下匹配內(nèi)容, 語法如下: (?<=<segment>)

        實踐

        正則表達(dá)式是對字符串內(nèi)容做匹配, 所以我將"先"和"后"的理解綁定到內(nèi)容匹配的先后順序上, 方便理解.

        我們將先行斷言和后發(fā)斷言結(jié)合起來, 整個表達(dá)式如下: (?<=<segment>).*(?=</segment>), 我們便可獲得想要的結(jié)果: 'Not Fault' 了.

        "正負(fù)"斷言

        其實我們剛才做的是肯定的場景, 實際情況中還有"不滿足此場景"的使用場景.

        比如, 我們剛才使用的表達(dá)式: (?<=<segment>).*(?=</segment>) 是肯定有 '<segment>' '</segment>' 的場景下去匹配內(nèi)容, 其實是使用的 "正后發(fā)斷言" 和 "正先行斷言", "正"即代表肯定的狀態(tài).

        那負(fù)斷言, 也就是不滿足場景的斷言咯... 語法即把正斷言中的等于號換成感嘆號:

      3. 負(fù)先行斷言 (?!)

      4. 負(fù)后發(fā)斷言 (?<!)

      5. 如: ['1999','2099','2199'...'9099'] 中如果我們要匹配除了'1999'以外的所有帶有'99'結(jié)尾的年份, 我們可以使用表達(dá)式: (?<!19)99

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS正則表達(dá)式要點分析

        JS正則表達(dá)式要點分析:本文主要和大家分享JS正則表達(dá)式的要點,由于之前在看VueJS的源碼, 看到了HtmlParser部分, 感覺以前看的正則表達(dá)式基礎(chǔ)知識已經(jīng)完全不夠用了, 現(xiàn)翻閱博客資料, 將一些JS中正則表達(dá)式難用的部分總結(jié)歸納, 方便自己和sf友翻閱.正則分組重復(fù)匹配對于重復(fù)的匹配,
        推薦度:
        標(biāo)簽: js 解析 分析
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲欧美第一成人网站7777| 久久亚洲精品无码aⅴ大香| 亚洲欧美日韩自偷自拍| 黄色成人网站免费无码av| 亚洲精品美女在线观看播放| 91短视频免费在线观看| 亚洲日韩在线视频| 毛片免费全部播放无码| 亚洲第一页在线视频| 免费毛片a在线观看67194| 亚洲一区二区三区在线观看蜜桃 | 456亚洲人成影院在线观| 日日麻批免费40分钟日本的| 亚洲一级毛片在线播放| 大学生一级特黄的免费大片视频| 一本色道久久88—综合亚洲精品 | 国产免费人成视频尤勿视频 | 亚洲国产电影在线观看| 一二三四在线播放免费观看中文版视频 | 成人免费视频软件网站| 亚洲国产高清国产拍精品| 免费看男女下面日出水视频| 夜夜爽妓女8888视频免费观看| 久久精品国产亚洲精品| 午夜理伦剧场免费| 亚洲欧美中文日韩视频| 久久久久亚洲AV成人网| 51在线视频免费观看视频| 亚洲愉拍一区二区三区| 国产精品亚洲精品日韩已方| 外国成人网在线观看免费视频| 亚洲卡一卡2卡三卡4麻豆| 国产真人无遮挡作爱免费视频 | 免费国产高清毛不卡片基地| 亚洲国产精品无码久久一区二区| 久久久久久精品成人免费图片| 国产精品亚洲专区无码牛牛| 亚洲V无码一区二区三区四区观看| 在线观看免费人成视频色9| 一个人看的www免费高清 | 国产成人精品日本亚洲语音|