引言:
正則表達(dá)式就是用事先定義好的一些特定字符、及這些特定字符的組合刻像,組成一個(gè)“規(guī)則字符串”叫榕,用來表達(dá)對(duì)字符串的一種過濾邏輯熄赡。通過正則表達(dá)式可以達(dá)到如下的目的:
- 給定的字符串是否符合正則表達(dá)式的過濾邏輯(稱作“匹配”);
- 可以通過正則表達(dá)式兼贸,從字符串中獲取我們想要的特定部分段直。
I. 匹配普通文本字符
正則表達(dá)式可以只包含普通的文本,代表去精確匹配這個(gè)文本溶诞。例如:
正則表達(dá)式:song
待匹配文本:xiaosongge鸯檬,xiaoSongge
匹配后結(jié)果:xiaosongge
分析:正則表達(dá)式默認(rèn)是區(qū)分大小寫的,所以song不會(huì)匹配 "Song" 很澄。但是大部分的正則表達(dá)式實(shí)現(xiàn)都提供了一個(gè)選項(xiàng)表示不區(qū)分大小寫京闰。
II. 匹配任意字符
.
用來匹配一個(gè)任意字符,例如:
正則表達(dá)式:c.t
待匹配文本:cat cet caaat dog
匹配后結(jié)果:cat cet
分析:c.t
會(huì)匹配以 "c" 開頭甩苛,以 "t" 結(jié)尾蹂楣,中間為任意字符的字符串。
同理讯蒲,多個(gè)連續(xù)的.可以匹配多個(gè)連續(xù)的任意字符:
正則表達(dá)式:c..t
待匹配文本:cat cet caat dog
匹配后結(jié)果:caat
III. 匹配特殊字符
.
在正則表達(dá)式中含有特殊的意義痊土,是一個(gè)特殊的字符。\
也是特殊字符墨林,可以對(duì)特殊字符起到轉(zhuǎn)義作用赁酝。如果你想匹配的是一個(gè)真正的 "." 字符,需要在 .
前面加上 \
對(duì)字符進(jìn)行轉(zhuǎn)義旭等。所以酌呆,\.
表示真正的 "." 字符。
正則表達(dá)式:c.t
待匹配文本:cat c.t dog
匹配后結(jié)果:c.t
注意:因?yàn)?code>\也是特殊字符搔耕,所以想要匹配一個(gè)真正的 "" 字符隙袁,需要使用兩個(gè)反斜線\\
:
正則表達(dá)式:c\\t
待匹配文本:cat c\t dog
匹配后結(jié)果:c\t
IV. 使用字符集合
上面說到.能匹配一個(gè)任意字符,但是如果我想匹配幾個(gè)特定字符怎么辦?匹配一組特定的字符可以使用[和]元字符菩收。
正則表達(dá)式:c[ab]t
待匹配文本:cat cbt cet
匹配后結(jié)果:cat cbt cet
分析:[ab]
會(huì)匹配 "a" 或者 "b"梨睁。所以 c[ab]t
會(huì)匹配 "cat" 和 "cbt" 而不會(huì)匹配 "cet"。