91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS正則表達式詳解與同時寫表示什么意思

發布時間:2021-10-13 09:41:47 來源:億速云 閱讀:177 作者:柒染 欄目:開發技術

JS正則表達式詳解與同時寫表示什么意思,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

  對于初學正則的同學來說,^$這兩個看似簡單的字符卻在使用中總讓匹配結果超出我們的預期,^什么時候表示行首什么時候表示反義?^$兩個一起寫表示什么含義?今天我們就來詳細聊聊這兩個字符。

  關于^與$什么意思

  先解釋^與$概念,很簡單的兩句話,先留個印象。

  ^脫字符:匹配開頭,若存在多行匹配多行的行頭。

  $美元符:匹配尾部,若存在多行匹配多行的尾部。

  我們知道正則是一種匹配模式,要么匹配字符,要么匹配位置。這里我們得從這兩種匹配情況分別解釋這兩個字符。

  從匹配字符角度看什么意思

  當用于匹配字符時,^與$更多是作為匹配出精準結果的輔助條件,我們先看個簡單的例子:

  '123'.match(/\d/g);//[1,2,3]

  很好理解,全局(注意結尾有個g)匹配單個任意數字,很明顯1,2,3都符合條件,所以這里找到了三個匹配結果;我們分別添加^與$再看:

  '123'.match(/^\d/g);//[1]

  '123'.match(/\d$/g);//[3]

  此時^\d只能匹配到1,而\d$只能匹配到3,你肯定就納悶了,不對啊,我正則后面不是有個g表示全局匹配嗎,怎么只匹配一個了呢?以^\d為例,此時的匹配條件其實是找開頭位置后的一個任意數字,\d$表示匹配結尾前的一個任意數字。開頭和結果對于一個不換行的字符串都只有一個,所以自然只能找到一個數字了,現在能理解前面所說的^$作為輔助條件的意思了嗎。

  那么我們現在將數字換行,再看:

  '12\n34'.match(/^\d/mg);//[1,3]

  '12\n34'.match(/\d$/mg);//[2,4]

  由于存在換行,導致現在有兩個開頭位置和兩個結尾位置(注意匹配中使用了m,表示換行匹配),所以匹配結果也變成了兩個,不難理解吧。

  2.從匹配位置角度

  正則除了根據規則匹配對應的字符,還有一個強大的功能就是匹配位置。什么是位置呢?以字符1234為例,每個箭頭都代表一個位置,其中第一個箭頭的位置就是脫字符^,結果位置就是美元符$,如下圖:

  所以當我們在匹配位置時,^$也成為了我們需要匹配的結果,例如,我需要將1234首尾位置加上花朵:

  '1234'.replace(/^|$/g,'?');//"?1234?"

  當然,在匹配位置時^與$也是幫助我們精確位置的輔助條件,比如常用的千位分隔符正則:

  '12345678'.replace(/(?!^)(?=(\d{3})+$)/g,',');//"12,345,678"

看完上述內容,你們掌握JS正則表達式詳解與同時寫表示什么意思的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

乐山市| 大埔区| 昌吉市| 上思县| 巴青县| 贡嘎县| 奉节县| 姚安县| 平江县| 临湘市| 西乌珠穆沁旗| 唐海县| 迁西县| 商洛市| 荆州市| 内丘县| 黎平县| 容城县| 周口市| 萨嘎县| 葫芦岛市| 桂平市| 湟中县| 沾化县| 长宁县| 扎赉特旗| 五莲县| 文昌市| 普安县| 永昌县| 广西| 彭水| 琼中| 和政县| 儋州市| 英山县| 皋兰县| 保山市| 登封市| 昔阳县| 秦安县|