欢迎光临散文网 会员登陆 & 注册

正则表达式学习笔记1

2023-06-12 12:03 作者:STRPG  | 我要投稿

1.直接匹配

匹配什么直接打出

例如文本:123abc  

输入:123abc

结果123abc

2.特殊字符

字符一:.(点字符)

匹配一个任意字符

例如文本:123  124  1254 126 1278

输入:12.

结果:123 124 125 126 127

字符二:\(转义字符)

如果要匹配 .(点字符)再点前加 \ 

例如文本:123. 1234 

输入:123\.

结果:123.

如果要匹配 \(转义字符)也在前加 \ 

例如文本:123. 123\

输入:123\\

结果:123\

字符三:[ ](字符集合)

控制字符匹配范围

例如文本:abc bbc cbc

输入:[ab]bc

结果:abc bbc 

不区分大小写

例如文本:Abc abc Bbc

输入:[Aa]bc

结果:Abc abc 

字符四:-(范围)

如果字符区间过大者可以在字符间加- (如果-在字符集合外,匹配的是-本身)

例如:[0-9]等价[0123456789]   [a-z]等价[abcdefghijklmnopqrstuvwxyz]

通过这种方法让表达式更简洁

字符五:^(取非字符)

加在集合中不匹配^后面的字符

例如文本:123 223 abc B23

输入:[^a-z]23

结果:123 223 B23

如果要搜索字符本身要加转义字符\

字符六:元字符

[\b] 回退 backspace键

\f 换页

\n 换行

\r 回车

\t 制表符Tab键

\v 垂直制表符

可以用于字符替换

字符七:类元字符

\d等价[0-9]

\D等价[^0-9]

\w等价[a-zA-Z0-9_]

\W等价[^a-zA-Z0-9_]

\s等价[\f\t\v\n\r]

\S等价[^\f\t\v\n\r]

([\b]既不在\s,也不再\S)

匹配16进制(\x)或2(\0)进制数字用

例如文本:19AE 010010

输入:\x19AE\0010010

结果:19AE  010010

匹配ctrl加任意键用(\c)

例如输入:\cZ 匹配 ctrl+Z

与Unicode编码有关的匹配字符(\p)

用于增强可读性

\p{Emoji} 匹配表情

.............................

字符八:POSIX字符类

不是所有语言都支持

[:upper:]大写等价于[A-Z]

[:digital:]任意数字等价\d[0-9]

..................................

(大部分功能上面都有,且上面兼容性更强)




学习的教程来源:

https://www.bilibili.com/video/BV1xW4y1X7Es?p=1&;vd_source=4452f35caeba35162f6b73e10c1f213a

正则表达式学习笔记1的评论 (共 条)

分享到微博请遵守国家法律