正则表达式是匹配模式,要么匹配字符,要么匹配位置
生活随笔
收集整理的這篇文章主要介紹了
正则表达式是匹配模式,要么匹配字符,要么匹配位置
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
正則表達(dá)式是匹配模式,要么匹配字符,要么匹配位置
正則表達(dá)式之所以強(qiáng)大,是因?yàn)樗軐?shí)現(xiàn)模糊匹配
模糊匹配有兩個(gè)方向上的匹配:
橫向模糊
一個(gè)正則可匹配的字符串的長(zhǎng)度不是固定的
正則 /ab{2,5}c/ 表示匹配這樣一個(gè)字符串:
第一個(gè)字符是 “a”,接下來(lái)是 2 到 5 個(gè)字符 “b”,最后是字符 “c”
縱向模糊
具體到某一位字符時(shí),它可以不是某個(gè)確定的字符,可以有多種可能
比如 /a[123]b/ 可以匹配如下三種字符串: “a1b”、“a2b”、“a3b”
復(fù)雜一點(diǎn)的情況:
也就是匹配的字符較多,這時(shí)候采用范圍表示法
[123456abcdefGHIJKLM],可以寫(xiě)成 [1-6a-fG-M]。用**連字符 -** 來(lái)省略和簡(jiǎn)寫(xiě)這里面存在一個(gè)問(wèn)題:
就是當(dāng)我們需要匹配**連字符-**時(shí),就可能產(chǎn)生歧義
所以我們需要以下方式來(lái)避免產(chǎn)生歧義
[-az] 或 [az-] 或 [a\-z] // \是轉(zhuǎn)義符| \d | 表 記示 憶方式:其 [0-9]。表 英示 文是 是一digit 位數(shù)字 (數(shù)字) 。 。 |
| \D | 表示 [^0-9]。表示除數(shù)字外的任意字符。 |
| \w | 表 記示 憶方式: [0-9a-zA-Z_] w 是 word 。表的示數(shù)字、 簡(jiǎn)寫(xiě),也大小寫(xiě) 稱單詞字字符 母和下 。 劃線。 |
| \W | 表示 [^0-9a-zA-Z_]。非單詞字符。 |
| \s | 表示 [ \t\v\n\r\f]。表示空白符,包括空格、水平制表符、垂直制表符、換行符、回車符、換頁(yè) 符。 |
| \S | 表示 [^ \t\v\n\r\f]。 非空白符。 |
| . | 表示 [^\n\r\u2028\u2029]。通配符,表示幾乎任意字符。換行符、回車符、行分隔符和段分隔符 除外。 |
| {m,} | 表示至少出現(xiàn) m 次。 |
| {m} | 等價(jià)于 {m,m},表示出現(xiàn) m 次。 |
| ? | 等價(jià)于 {0,1},表示出現(xiàn)或者不出現(xiàn)。 |
| + | 等價(jià)于 {1,},表示出現(xiàn)至少一次。 |
| * | 等價(jià)于 {0,},表示出現(xiàn)任意次,有可能不出現(xiàn)。 |
總結(jié)
以上是生活随笔為你收集整理的正则表达式是匹配模式,要么匹配字符,要么匹配位置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 倒数日如何设置正数日
- 下一篇: 用闭包实现重载的过程学习闭包