正則表達(dá)式學(xué)習(xí)筆記1
1.直接匹配
匹配什么直接打出
例如文本:123abc??
輸入:123abc
結(jié)果123abc
2.特殊字符
字符一:.(點(diǎn)字符)
匹配一個(gè)任意字符
例如文本:123? 124? 1254 126 1278
輸入:12.
結(jié)果:123 124 125 126 127
字符二:\(轉(zhuǎn)義字符)
如果要匹配 .(點(diǎn)字符)再點(diǎn)前加 \?
例如文本:123.?1234?
輸入:123\.
結(jié)果:123.
如果要匹配 \(轉(zhuǎn)義字符)也在前加?\?
例如文本:123.?123\
輸入:123\\
結(jié)果:123\
字符三:[ ](字符集合)
控制字符匹配范圍
例如文本:abc bbc cbc
輸入:[ab]bc
結(jié)果:abc bbc?
不區(qū)分大小寫(xiě)
例如文本:Abc abc Bbc
輸入:[Aa]bc
結(jié)果:Abc abc?
字符四:-(范圍)
如果字符區(qū)間過(guò)大者可以在字符間加- (如果-在字符集合外,匹配的是-本身)
例如:[0-9]等價(jià)[0123456789]? ?[a-z]等價(jià)[abcdefghijklmnopqrstuvwxyz]
通過(guò)這種方法讓表達(dá)式更簡(jiǎn)潔
字符五:^(取非字符)
加在集合中不匹配^后面的字符
例如文本:123?223?abc B23
輸入:[^a-z]23
結(jié)果:123 223?B23
如果要搜索字符本身要加轉(zhuǎn)義字符\
字符六:元字符
[\b] 回退?backspace鍵
\f?換頁(yè)
\n?換行
\r?回車(chē)
\t?制表符Tab鍵
\v?垂直制表符
可以用于字符替換
字符七:類(lèi)元字符
\d等價(jià)[0-9]
\D等價(jià)[^0-9]
\w等價(jià)[a-zA-Z0-9_]
\W等價(jià)[^a-zA-Z0-9_]
\s等價(jià)[\f\t\v\n\r]
\S等價(jià)[^\f\t\v\n\r]
([\b]既不在\s,也不再\S)
匹配16進(jìn)制(\x)或2(\0)進(jìn)制數(shù)字用
例如文本:19AE 或 010010
輸入:\x19AE 或 \0010010
結(jié)果:19AE?或?010010
匹配ctrl加任意鍵用(\c)
例如輸入:\cZ 匹配 ctrl+Z
與Unicode編碼有關(guān)的匹配字符(\p)
用于增強(qiáng)可讀性
\p{Emoji} 匹配表情
.............................
字符八:POSIX字符類(lèi)
不是所有語(yǔ)言都支持
[:upper:]大寫(xiě)等價(jià)于[A-Z]
[:digital:]任意數(shù)字等價(jià)\d或[0-9]
..................................
(大部分功能上面都有,且上面兼容性更強(qiáng))
學(xué)習(xí)的教程來(lái)源:
https://www.bilibili.com/video/BV1xW4y1X7Es?p=1&vd_source=4452f35caeba35162f6b73e10c1f213a