正则表达式
创建:
一 字面量
例: box1 = **/ hello/ig**
二 通过new去声明正则表达式
var box1 = **new RegExp**( " hello " , "ig" )
- 参数:第一个参数是正则表达式主体 字符串
- 第二个参数是修饰符
i 不去分辨大小写 g 。全局搜索【注】修饰符不区分顺序 。m 换行匹配 【注】如果在字符串中遇到换行就重新计算行首。
使用方法:
- 正则表达式自带的只有两个方法:
test
格式:正则 . test( " 字符串");
功能: 在字符串中匹配这个正则是否存在,返回true
或false
exec
格式:正则 . exec(“字符串”);
功能:在字符串中匹配这个正则是否存在 , 返回值是匹配到的字符串 ,以数组形式存在 - 字符串中可以使用正则的方法
例:var str="i are ARE" var box=/are/ig; consile.log(str.match(box)) 结果:are,ARE
match
格式:字符串 . match(“正则”);
功能: 在字符串中匹配是否有合法的正则 , 返回装有字字符串的数组,失败返回null
replace
格式:字符串 . replace (旧字符串/正则 , 新字符串);
功能: 用新的字符串替换旧的字符串 返回替换成功的字符串
split
格式:字符串 . split (分隔符/正则 )
;功能:用分隔符将原数组进行分割 返回值是分割剩下的字符串组成的数组
search
格式:字符串 . search(子串/正则)
功能:找到符合条件的子串第一次出现的位置 , 返回下标 ,否则返回-1 - 元字符
概念:在正则表达式中有特殊含义的字符
分类:
单个数字或字符的元字符
. 匹配单个任意字符
[] 匹配单个范围内的字符—— [0-9] [a-zA-Z0-9_]
\w 匹配单个的数字、字母、下划线 ;等价于 [a-zA-Z0-9_]
\W 匹配出非数字字母下划线
\d 匹配单个数字; 等价于 [0-9]
\D 匹配单个非数字;
^ 匹配任意一个除括号范围内的字符——[^0-9]匹配任意一个非数字字符
重复字符
x (任意的单个字符)
x? 匹配0个或一个x
x+ 匹配至少一个x
x* 匹配任意个x
x{ m , n } 匹配至少m个,至多n 个x
x{n} 必须匹配n个x
xyz)+ 括起来的部分当单个字符处理
空白字符
\s 匹配任意单个空白字符
\S 匹配任意一个非空白字符
转义字符 \字符 代表原本的字符
锚字符
^ 行首匹配
$ 行尾匹配