正则表达式复习(1)
什么是正则表达式
?
正则表达式
也叫规则表达式
,是一个复杂的数据类型:object
作用:
- 1、专门用于验证
字符串
是否符合规则 - 2、从
字符串
中获取一部分符合规则的内容
语法:
=》
使用一些特定的符号
来组合成一个表达式=》
使用这个表达式去验证字符串
,或者从字符串里面获取一些内容
创建正则表达式的两种方式:
- 1、以字面量创建
- 2、内置构造函数创建
代码展示:
// 1、以字面量创建 |
结果展示:
正则表达式的边界元字符
- 1、
^
:表示字符串的开始 (写在转义符\
的前面) - 2、
$
:表示字符串结束 (写在基础元字符的后面 例:\d$
)
代码展示:
// 1、 ^ |
结果展示:
正则表达式的基础元字符
元字符:组成正则表达式的基本符号
=》
以符号的形式来代替文本内容=》
把所有的文本内容归结成一些符号来代替
1、
\s
表示一个空格(只需有一个空格即可)2、
\S
表示一个非空格(只需有一个非空格即可)3、
\t
表示一个制表符(即我们常常按的tab键)4、
\d
表示一个数字(只需要有一个数字即可)5、
\D
表示一个非数字(即检测的字符串里面不能全是数字)6、
\w
表示 数字 字母 下划线都可以- =》数字 字母 下划线 这三个当中选一个要有
7、
\W
表示 数字 字母 下划线以外- =》数字 字母 下划线以外任意一个都行
8、
(.)
表示非换行内容(即要检测的内容当中需要有一个非换行内容,就是不能全是换行内容)9、
\(单个\)
表示转义符- =》把没有意义的内容转换成有意义的内容
- =》把有意义的内容转换成没有意义的内容
代码展示:
// 1、 \s |
结果展示:
正则表达式的两个方法:
- 1、
匹配
:验证字符串是不是符合正则表达式=》
语法:正则.test
(你要检测的字符串)=》
返回值:true
,false
- 2、
捕获
:从字符串里面获取符合正则规则的那一部分片段=》
语法:正则.exec(你要捕获的字符串)=》
返回值:1、字符串里若是没有符合规则的片段
- -》返回null
2、基础捕获
-》
返回值是一个数组-》
[0] 是捕获出来的片段-》
不过有多少个片段,都只是捕获第一个片段-》
不管捕获多少次,都只是捕获第一个片段
代码展示:
// 0、准备一个正则 |
结果展示:
正则表达式的特数符号
1、
()
- 1-1、表示一个整体
- 1-2、单独捕获
=》
在你捕获一个字符串的时候=》
从左到右开始每一个小括号依次是数组里面的 [1] 开始的内容=》
从左到右依次书小括号的开始括号
2、
(?:)
- 表示整体匹配但是不捕获
3、
|
(表示或者)=》
占位符=》
表示左边或者右边都行=》
大部分时候和()连用,表示一个整体 或者 另一个整体- 注意:分开的是左边和右边的整个
4、
[]
=》
表示[]里面存在的任意一个都可以
5、
[^]
=》
表示[^]
不能全部由里面的字符组成=》
即只要存在不是[^]
内指定的字符即可
6、
-
=》
表示从 到 或者 到=》
这是一个使用在[]里面的一个符号=》
表示哪一个字符到哪一个字符=》
前提是他们在ASCII码里面连着的(字母区分大小写)
常见的组合形式
- 1、
[0-9a-zA-Z_]
等价于 \w (表示 数字 字母 下划线都可以 三者之一) - 2、
[^0-9a-zA-Z_]
等价于 \W (表示 数字 字母 下划线以外) - 3、
[0-9]
等价于 \d (表示一个数字(只需要有一个数字即可)) - 4、
[^0-9]
等价于 \D (表示一个非数字(即检测的字符串里面不能全是数字)) - 5、
[ ]
等价于 \s (表示一个空格(只需有一个空格即可)) - 6、
[^ ]
等价于 \S (表示一个非空格(只需有一个非空格即可))
- 1、
特殊说明:
=》
当 点(.)
出现在[]
或者[^ ]
里面时表示一个文本
代码展示:
// 1、() |
结果展示:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库