简介
正则表达式,我们可以看作通配符的增强版,可以帮我们匹配指定规则的字符串,在计算机中应用广泛,比如说爬虫、网站的登录表单等。
原视频:https://www.bilibili.com/video/BV1da4y1p7iZ
学习正则表达式的常用工具
- 在线正则表达式:https://regex101.com/
- VS Code 搜索工具
- 学习文档:https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md
常用方法:限定符
使用?
匹配0个或1个字符,比如use
可以匹配use
和used
使用*
匹配0个或多个字符,比如ab*c
可以匹配ac
和abbbc
使用+
匹配1次以上的字符,比如ab+c
可以匹配abc
和abbbc
使用{n}
匹配n次字符,比如ab{2}c
可以匹配abbc
,也可以指定匹配的范围{m,n}
,还可以省略n匹配m次以上的b
使用(ab)+
可以匹配ababab
常用方法:或、字符类
a (cat|dog)
可以匹配a cat
与a dog
[abc]+
可以匹配abc
与aabbcc
,方括号的内容指定了匹配字符的范围
[a-z]+
使用-
指定了字符的范围。[a-zA-Z0-9]+
匹配字母和数字
^
可以匹配尖号后边列出的以外的字符,如[^0-9]+
匹配所有的非数字字符。
元字符
正则表达式预先定义了一系列常用的字符如数字、空白、单词开头与结尾等等,称为元字符,一般以\
开头。
\d
代表数字字符 \D
代表了非数字字符
\w
代表单词字符 包括字母、数字、下划线 \W
同上
\s
代表空白符 \S
同上
.
代表任意字符,不包含换行符
^
匹配行首字符,^a
匹配abandon
,$
匹配行尾字符
+
号后加?
可以将默认的贪婪匹配切换为懒惰匹配。即只匹配了尖括号中的内容(最小匹配)。