导图社区 正则表达式
正则表达式的知识点总结,涵盖两种模糊匹配,字符组,量词,位置匹配,原理,结构,操作符的知识内容。有需要的小伙伴下载收藏哦~
jQuery常用Api总结,获取和设置,DOM操作,效果,选择器,查找,过滤知识点总结。有需要的小伙伴可以下载收藏哦~
python Openpyxl库的使用导图,openoyxl知识点总结,工作薄对象,工作表对象,单元格对象,样式对象,优化模式。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
正则表达式
两种模糊匹配
横向
特点
可匹配字符串长度不固定
实现方式
使用量词
例子
{m,n}
连续出现最少m次,最多n次
纵向
可匹配位置字符不确定
字符组
[abc]
表示该字符可以是"a"、"b"、"c"三个字符任意一个
范围表示法
[123456abcdefGHIJKLM]
[1-6a-fG-M]
用连字符"-"简写
匹配“a”、“-”、“z”这三者中任意一个字符
[-az]
[az-]
[a\-z]
排除字符组
使用"^"脱字符
匹配除”a”、”b”、”c”之外的任意一个字符
[^abc]
常见简写形式
\d就是[0-9]。表示是一位数字
记忆方式:其英文是digit(数字)
\D就是[^0-9]。表示除数字外的任意字符
\w就是[0-9a-zA-Z_]。表示数字、大小写字母和下划线
记忆方式:w是word的简写,也称单词字符
\W是[^0-9a-zA-Z_]。非单词字符
\s是[ \t\v\n\r\f]。表示空白符,包括空格、水平制表符、垂直制表符、换行符、回车符、换页符
记忆方式:s是space character的首字母
\S是[^ \t\v\n\r\f]。 非空白符
.就是[^\n\r\u2028\u2029]。通配符,表示几乎任意字符。换行符、回车符、行分隔符和段分隔符除外。记忆方式:想想省略号…中的每个点,都可以理解成占位符,表示任何类似的东西。
量词
简写形式
{m,}
表示至少出现m次。
{m}
等价于{m,m},表示出现m次
?
等价于{0,1},表示出现或者不出现
记忆方式:问号的意思表示,有吗?
+
等价于{1,},表示出现至少一次
记忆方式:加号是追加的意思,得先有一个,然后才考虑追加
*
等价于{0,},表示出现任意次,有可能不出现
记忆方式:看看天上的星星,可能一颗没有,可能零散有几颗,可能数也数不过来
.
匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
位置匹配
锚字符
^
匹配开头,在多行匹配中匹配行开头
$
匹配结尾,在多行匹配中匹配行结尾
\b
匹配单词边界
具体就是\w和\W之间的位置,也包括\w和^之间的位置,也包括\w和$之间的位置
\B
非单词边界
(?=p)
p(子模式)前面的位置
"hello".replace(/(?=l)/g, '#')
"he#l#lo"
(?!p)
不是p(子模式)前面的位置
"hello".replace(/(?!l)/g, '#')
"#h#ell#o#"
(?<=p)
p(子模式)后面的位置
(?<!p)
不是p(子模式)后面的位置
括号的作用
分组
捕获分组
反向引用
非捕获分组
分支结构
原理
回溯法
常见回溯形式
贪婪量词
惰性量词
结构
字符字面量
匹配一个具体字符,包括不用转义的和需要转义的。比如a匹配字符”a”,又比如\n匹配换行符,又比如\.匹配小数点
匹配一个字符,可以是多种可能之一,比如[0-9],表示匹配一个数字。也有\d的简写形式。另外还有反义字符组,表示可以是除了特定字符之外任何一个字符,比如[^0-9],表示一个非数字字符,也有\D的简写形式
表示一个字符连续出现,比如a{1,3}表示“a”字符连续出现3次。另外还有常见的简写形式,比如a+表示“a”字符连续出现至少一次
匹配一个位置,而不是字符。比如^匹配字符串的开头,又比如\b匹配单词边界,又比如(?=\d)表示数字前面的位置
用括号表示一个整体,比如(ab)+,表示”ab”两个字符连续出现多次,也可以使用非捕获分组(?:ab)+
选择分支
多个子表达式多选一,比如abc|bcd,表达式匹配”abc”或者”bcd”字符子串
比如\2,表示引用第2个分组
操作符
转义符 \
括号和方括号 (...)、(?:...)、(?=...)、(?!...)、[...]
量词限定符 {m}、{m,n}、{m,}、?、*、+
位置和序列 ^ 、$、 \元字符、 一般字符
管道符(竖杠)|