赞
踩
字面量创建
var reg = /正则表达式/修饰符;
构造函数创建
var reg = new RegExp('正则表达式','修饰符')
修饰符
i: ignoreCase, 匹配忽视大小写
m: multiline , 多行匹配
g: global , 全局匹配
1. exec
匹配字符串和正则表达式的方法,
匹配成功:
返回一个数组 [匹配内容,index:匹配的起始位置,input:要匹配的字符串, group:undefined]
匹配失败:
返回null
- var str = 'hello world hello';
- var reg = /hello/g;
- console.log(reg.exec(str)) //返回[ 'hello', index: 0, input: 'hello world hello', groups: undefined ]
2. test
测试待检测的字符串是或否能匹配到,匹配到返回true,否则返回false
- var str = 'hello world hello';
- var reg = /hello/;//匹配hello
- console.log(str.test(str))//返回true
3. lastIndex
没设置全局匹配,返回值都为0;
设置全局匹配后,匹配到对于字符lastIndex指向改字符的结束位置,在执行exec返回null时lastIndex归零。
- var str = 'a a a';
- var reg1 = /a/;
- var reg2 = /a/g;
- console.log(reg1.lastIndex); // 0
- console.log(reg1.exec(str)); // 返回第一个a
- console.log(reg1.lastIndex); // 0
- console.log(reg2.lastIndex); // 0
- console.log(reg2.exec(str)); // 返回第一个a
- console.log(reg2.lastIndex); // 1
- console.log(reg2.lastIndex); // 1
- console.log(reg2.exec(str)); // 返回第二个a
- console.log(reg2.lastIndex); // 3
- console.log(reg2.lastIndex); // 3
- console.log(reg2.exec(str)); // 返回第三个a
- console.log(reg2.lastIndex); // 5
- console.log(reg2.exec(str)); //返回 null
- console.log(reg2.lastIndex); // 0
- console.log(reg2.exec(str)); // 返回第一个a

字符 | 匹配 |
---|---|
字母和数字字符 | 自身 |
\o | Null字符 |
\t | 制表符 |
\n | 换行符 |
\v | 垂直制表符 |
\f | 换页符 |
\r | 回车符 |
字符类 | 含义 |
---|---|
. | 匹配除换行符\n和回车符之外的任何单个字符,等效于**[^\n\r]** |
\d | 匹配一个数字字符,等效于[0-9] |
\D | [^0-9] |
\w | 匹配包括下划线的任何单个字符,包括AZ,az,0~9和下划线**""**,等效于[a-zA-Z0-9] |
\W | [^a-zA-Z0-9_] |
\s | 匹配任何Unicode空白字符,包括空格、制表符、换页符等,等效于[\f\t\n\r] |
\S | [^\f\t\n\r] |
1. []的用法
用法:匹配[]之中的某一个字符。
例如:[0-9] 查找0-9之中任意一个字符,[abc]匹配a,b,c之中一个字符
- var str = 'ab';
- var reg = /[abc]/;//匹配abc任意一个字符
- var reg1 = /abc/;//匹配abc
- console.log(reg.test(str));//返回true
- console.log(reg1.test(str));//返回false
2. ^符号的使用
反义字符
例如: [ ^abc]匹配除了abc之外的字符
- var str = 'ab1';
- var str2 = 'abc';
- var reg1 = /[^abc]/;//匹配abc之外的字符
- console.log(reg.test(str));//返回true
- console.log(reg1.test(str2));//返回false
边界符
^表示匹配开始的字符
- var str = 'abc';
- var str1 = '1abc';
- var reg = /^abc/;//匹配以abc开头的字符
- console.log(reg.test(str));//返回true
- console.log(reg1.test(str2));//返回false
3. $符号的使用
边界符
$表示匹配结束位置的字符
- var str = 'abc';
- var str1 = '1abc';
- var reg = /abc$/;//匹配以abc结尾的字符
- console.log(reg.test(str));//返回true
- console.log(reg1.test(str2));//返回true
^和$共同使用(精确匹配)只有和匹配的字符完全相同才匹配成功
- var str = 'abc';
- var str1 = '1abc';
- var reg = /^abc$/;//匹配以abc结尾的字符
- console.log(reg.test(str));//返回true
- console.log(reg1.test(str2));//返回true
4. 字符匹配出现次数
字符 | 含义 |
---|---|
* | >=0次 |
+ | ≥1 次 |
? | 0或1次 |
{n} | n 次 |
{n,} | ≥n 次 |
{n,m} | n到m 次 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。