首页
/
每日頭條
/
科技
/
正則表達式匹配空字符串
正則表達式匹配空字符串
更新时间:2025-02-03 14:12:22

正則表達式匹配空字符串?正則表達式是匹配模式,要麼匹配字符,要麼匹配位置,接下來我們就來聊聊關于正則表達式匹配空字符串?以下内容大家不妨參考一二希望能幫到您!

正則表達式匹配空字符串(正則表達式攻略)1

正則表達式匹配空字符串

正則表達式是匹配模式,要麼匹配字符,要麼匹配位置。

兩種模糊匹配

橫向模糊匹配

定義:一個正則可匹配的字符串的長度不是固定的,可以是多種情況的 表示:{m,n},表示連續出現最少m次,最多n次 例子:比如正則 /ab{2,4}c/ 匹配:abbc/abbbc/abbbbc

縱向模糊匹配

定義:一個正則匹配的字符串,具體到某一位字符時,它可以不是某個确定的字符 表示:[abc],表示該字符可以是字符"a"、"b"、"c"中的任何一個。 例如:比如 /a[123]b/ 匹配:a1b/a2b/a3b

字符組

縱向匹配 雖叫字符組,但還是隻匹配一個字符

範圍表示法

使用場景:字符組裡相鄰的字符特别多可以使用範圍表示法 例如:123456abcdefgHIGKLMN,可以簡寫成[1-6a-gH-N] 注意:隻匹配'a' '-' 'z'這三個字符,不能寫成[a-z]這種寫法,可以寫成[-az]或[az-]或[a-z]

排除字符組

場景:縱向匹配 某一位不能是'a' 'b' 'c'這三個字符其中的一個 例子:[^abc]

簡寫形式

字符組 具體含義 \d [digit] [0-9],一位數字 \D [^0-9],0-9之外的任意一位字符 \w [word] [0-9a-zA-Z_],單詞字符 \W [^0-9a-zA-Z_],非單詞字符 \s [space] [\t\v\n\r\f],空白符,包括空格、水平制表符、垂直制表符、換行符、回車符、換頁符 \S [^\t\v\n\r\f] 非空白符 . [^\n\r\u2028\u2029] 通配符

量詞

量詞也稱重複

簡寫形式

量詞 含義 {m,} 至少出現m次 {m} 等價 {m,m} 出現固定m次 ? 等價 {0,1} 表示可出現可不出現 等價 {1,} 表示至少出現一次 * 等價 {0,} 表示出現任意次,有可能不出現

貪婪匹配與惰性匹配
  • 貪婪匹配:盡可能多的匹配

varregex=/\d{2,5}/g; vartest="123123412345123456"; console.log(test.match(regex));//["123","1234","12345"]

  • 惰性匹配:盡可能少的匹配

varregex=/\d{2,5}?/g; vartest="123123412345123456"; console.log(test.match(regex));//["12","12","34","12","34","12","34","56"]

  • 通過在量詞後面加個問号就能實現惰性匹配

惰性量詞 貪婪量詞 {m,n}? {m,n} {m,}? {m,} ?? ? ? *? *

多選分支

一個模式可以實現橫向和縱向模糊匹配,而多選分支可以支持多個子模式任選其一。 具體形式如下:(p1|p2|p3)

  • 不同字符

varregex=/good|nice/g; vartest="goodidea,nicetry."; console.log(test.match(regex));//["good","nice"]

  • 具有相同字符

varregex=/good|goodbye/g; vartest="goodbye"; console.log(test.match(regex));//["good"]

  • 改變位置

varregex=/goodbye|good/g; vartest="goodbye"; console.log(test.match(regex));//["goodbye"]

分支結構也是惰性的,即當前面的匹配上了,後面的就不再嘗試了

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
得物從哪裡發貨
得物從哪裡發貨
演示機型:Iphone12&&華為P40&&小米11系統版本:iOS14.4&&EMUI11&&MIUI12.0.7APP版本:得物4.70.1得物作為一個潮品鑒定平台,本身不賣東西,平台中的商品都由第三方商家出貨,發給得物官方鑒定後,再轉寄給買家。所以得物從哪裡發貨取決于商家發貨地和渠道,而不在于得物app。此方法适用于小米、蘋果、華為手機。得物:得物App是上海識裝信息科技有限公司旗下新一代潮
2025-02-03
10850k和10900k區别
10850k和10900k區别
以華為MateBookX、win10為例。主要區别在于:頻率差異、性能不同、成績不同。1、頻率的差異:i9-10900K基礎頻率為3.7GHz,單核最大頻率為5.3GHz,而i9-10850K基礎頻率為3.6GHz,單核最大頻率為5.2GHz,加速頻率10900K為5.3GHz;10850K為5.2GHz。2、性能測試不同:在CINEBENCHR20版本渲染測試中,i9-10900K相比i9-10
2025-02-03
ix25鑰匙怎麼換電池
ix25鑰匙怎麼換電池
1、首先用改錐将遙控器蓋拆下,輕輕去下鑰匙齒片。2、将螺絲刀插到箭頭1所指的孔内,按圖示位置順時針轉動螺絲刀,将遙控器兩部分完全分離。3、拆開後,拿下電池,拆開電路闆。4、最後更換上新的電池,按照原來拆卸的方法的反方向安裝上就OK了。
2025-02-03
怎麼分欄排版
怎麼分欄排版
演示機型:華為MateBookX系統版本:win10APP版本:word20201、首先打開word,并打開需要排版的文本。2、接着在上面找到“布局”的選項面闆,點擊進去。3、在下面的功能選項裡,可以看“欄”的字眼。4、如果需要分成兩欄,則下拉“欄”,然後選擇兩欄即可。排版:排版指的是将文字原稿依照設計要求組成規定版式的工藝。
2025-02-03
筆記本電腦升級配置可以換哪些配件
筆記本電腦升級配置可以換哪些配件
1、更換内存,内存一般都是插在卡槽中的,比如原筆記本是1條4G内存條,可以購買同品牌的4G内存條插入插槽形成雙通道,這樣兼容性最好。2、更換固态硬盤,如果筆記本沒有固态硬盤,可以在普通硬盤前加上一個固态硬盤,并把固态硬盤做成C盤,一般128G的固态硬盤就可以,這樣可以把性能提高很多。3、更換顯卡,一部分筆記本電腦是焊在主闆上的無法更換,更換時要考慮适配性,略有風險。4、更換CPU,CPU一般是不建
2025-02-03
Copyright 2023-2025 - www.tftnews.com All Rights Reserved