第十四天笔记 正则
概述
正则是用于检验对应的字符串的一种特殊表达式,一般用于用户格式验证
正在对象声明
使用// 来声明(常用)
var a=/a/ig// 匹配修饰符
console.log(regexp)
使用new关键字来声明
// 第一个传入的是 正则表达式 第二个传入的是当前匹配模式
var a=new RegExp('a','gi')
console.log(a)
正则的匹配修饰
-
g 全局
-
i 不区分大小写
-
m 换行
-
s 单个匹配
正则对象的方法及属性
-
test 验证是否匹配
-
exec 返回匹配的数组
var regexp= /a/gi // 全局匹配字符串是否有a
console.log(regexp);
// 方法
console.log(regexp.exec("Aoo'o"));
console.log(regexp.test('hello'));// false
console.log(regexp.test('apple'));// true
// exec 执行 返回的是一个数组 类于match
console.log(regexp.exec("ooAo"));
// 属性
console.log(regexp.dotAll);// 是否使用单个匹配s
console.log(regexp.flags);// 匹配修饰符
console.log(regexp.global);// 是否全局查找
console.log(regexp.ignoreCase);// 是否不区分大小写
console.log(regexp.lastIndex);// 下一次匹配开始索引
正则表达式中的元字符
-
^ 表示开头
-
$ 表示结尾
var regexp=/^ab$/ // 以a开头 以b结尾
console.log(regexp.test('ab'))// true -
[] 表示里面任意一个元素
-
{} 表示个数 前面的值大于后面
-
() 表示分组
var regexp = /^ab$/ // 以a开头 以b结尾
console.log(regexp.test('ab'))// true
console.log(regexp.test('a1b'));// false
// [] 表示里面的任意一个元素
var reg=/^[abc]a$/ // 只匹配aa ba ca
console.log(reg.test('ab'));// false
// {}表示个数
var reg1 = /[abc]{2}/ // aa bb cc /[abc]{2}/==/[abc][abc]/
// {2,3} 两个到3个 {2,}两个到无穷个 后面大于前面报错
var reg2=/^[abc]{2,3}$/ //aa bb cc aaa bbb ccc
// () 表示分组 中间先算
var reg3=/(ab){2}/ // abab
console.log(reg3.test('abab')); -
数字的表示方式
\d 表示数字 \D表示非数字
[0,9]
console.log(/\d/.test('1a'));//true
console.log(/[0,9]/.test('1a'));//true
// \D非数字 大小写表示相反
console.log(/\D/.test('123'));// falses -
字母的表示方式
// 表示字母 [A-Z]大写字母 [a-z]小写字母
console.log(/[A-Z]/.test('abc'));// false
console.log(/[A-Z]/.test('ABC'));// true -
\w
// \w 表示数字 字母 下划线
console.log(/\w/.test('_'));// true
// \W 表示非数字 字母 下划线
console.log(/\W/.test('?'));// true -
\s
// \s 空白字符 \S 非空白字符
console.log(/\s/.test(' '));// true
console.log(/\S/.test(' '));// false -
+表示 1个到多个{1,}
-
? 表示0个到1个
-
× 表示0个到多个
-
| 或符号 一般和分组符一起用
-
. 表示任意字符串
正则的转义
概念
转义就是将我们的元字符变为普通字符
方法
-
将对应的非修饰的字符(反斜杠开头的) 用 [ ] 包起来
-
使用转义字符 \
支持正则的字符串方法
-
Match 匹配
-
search 查找
-
replace 替换
-
split 分割