1. 程式人生 > 其它 >位元組跳動Java面試全套真題解析在網際網路火了,程式設計師翻身之路

位元組跳動Java面試全套真題解析在網際網路火了,程式設計師翻身之路

1. 正則表示式語法

1.1 字元與字元類

1 特殊字元:.^$?+*{}|

以上特殊字元要想使用字面值,必須使用進行轉義

2 字元類

1. 包含在[]中的一個或者多個字元被稱為字元類,字元類在匹配時如果沒有指定量詞則只會匹配其中的一個。

2. 字元類內可以指定範圍,比如[a-zA-Z0-9]表示a到z,A到Z,0到9之間的任何一個字元

3. 左方括號後跟隨一個,表示否定一個字元類,比如[0-9]表示可以匹配一個任意非數字的字元。

4. 字元類內部,除了之外,其他特殊字元不再具備特殊意義,都表示字面值。放在第一個位置表示否定,放在其他位置表示本身,-放在中間表示範圍,放在字元類中的第一個字元,則表示-本身。

5. 字元類內部可以使用速記法,比如d s w

3 速記法

. 可以匹配除換行符之外的任何字元,如果有re.DOTALL標誌,則匹配任意字元包括換行

d匹配一個Unicode數字,如果帶re.ASCII,則匹配0-9

D 匹配Unicode非數字

s匹配Unicode空白,如果帶有re.ASCII,則匹配中的一個

S 匹配Unicode非空白

w匹配Unicode單詞字元,如果帶有re.ascii,則匹配[a-zA-Z0-9_]中的一個

W 匹配Unicode非單子字元

1.2 量詞

1. ?匹配前面的字元0次或1次

2. *匹配前面的字元0次或多次

3. +匹配前面的字元1次或者多次

4. {m}匹配前面表示式m次

5. {m,}匹配前面表示式至少m次

6. {,n}匹配前面的正則表示式最多n次

7. {m,n}匹配前面的正則表示式至少m次,最多n次

注意點:

以上量詞都是貪婪模式,會盡可能多的匹配,如果要改為非貪婪模式,通過在量詞後面跟隨一個?來實現

https://mp.weixin.qq.com/s/aIKlTpxl8Jmwwt1Jvxj1yw

故鄉明