ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] # 正则表达式 <br> >[warning]正则表达式,也叫做规则表达式。按照**一定的规则组成**的一个表达式,这个表达式作用主要是用来**匹配字符串** ***** <br> ## 1.组成 <br> >[info]由元字符或者限定字符组成的一个式子 (元字符是个大的类别,限定字符是个小的类别) <br> ### 1.1元字符 具有特殊含义的字符 <br> #### 1.1.1常用的元字符 <br> | 元字符 | 说明 | | --- | --- | | . | 除了换行以外的所有字符 | | \\ | 转义的意思 把在正则里面有特殊意义的字符 转成 字符本身 | | ^ | 代表以某个字符串开头 栗子:/^q/ 表示 以q开头的字符串 | | $ | 代表以某个字符结尾 栗子: /e$/ 表示以e结尾的字符 | | \\d | 代表0-9之间的数字 | | \\D | 代表0-9之外的字符 | | \\w | 代表数字、字母、下划线 | | \\W | 代表除了数字、字母、下划线以外的字符 | | \\n | 代表换行 | | \\s | 代表空白符 如空格键,tab键| | \\S | 匹配任意不是空白符的字符 | | \[ \] | 表示的是范围,\[0-9\] 表示的是0-9之间的任意一个数字 | | \[a-z\] | 表示的是:所有的小写的字母中的任意的一个 | <br> >[danger][]的意义: 一,表示范围。[0-7],[a-z],[A-Z]等 二,表示删除,可以把正则表达式中元字符的意义删掉。[.],表就是一个点 <br> >[success]()分组,提升优先级 [0-9] | ([a-z]) | [A-Z],此时会先算()里面 <br> >[info]**补充** ^ 表示以什么字母开始或者是取反 ^[0-9] 表示以数字开头 ^[a-z] 表示以小写字母开头 [^0-9] 表示取反,非字母 [^a-z] 表示非小写字母 >[warning]$ 表示以什么字母结束 [0-9][a-z]$ 表示必须以小写字母结束 [0-9][a-z] “4abc” 可以匹配 [0-9][a-z]$ "4a"可以匹配,“4abc”不可以匹配 **严格模式下不可以匹配,只能是以一个字母结束** >[success]| ,表示或者。[0-9]|[a-z] 表示的是要么是一个数字,要么是一个小写的字母 #### 1.1.2量词元字符(限定符) | 量词元字符 | 说明 | | --- | --- | | ? | 代表前面的字符出现0次或者1次 | | \* | 代表前面字符出现0次或者多次 | | + | 代表前面字符出现一次或 多次 | | {n} | 代表前面字符出现连续的n次 {5}代表前面字符出现连续的5次 | | {n,} | 代表最少出现n次 {2,} 代表最少出现2次 | | {n,m} | 代表前面字符出现n到m次 {5,10} 表示前面的表达式出现了5次到10次 **注意** >[warning]没有{,n}的写法 <br> **补充** >[danger]{}明确前面的表达式出现的次数 {0,} 代表的是前面的表达式出现了0次 或者多次,跟* 一样 {1,} 代表的是掐面的表达式出现了1次或者多次,跟 + 一样 {0,1} 代表前面的表达式出现了0次或者1次,跟 ? 一样