正则表达式
正则表达式
两种创建方法:
1、正则字面量:
var reg = / 正则表达式 / [ 修饰字符 ] ;
var reg = / abc / img ;
2、正则的构造:
var reg = new RegExp( "abc" , "img" ) ;
可以直接写入正则表达式。如果不适用new,且写入正则表达式,将不再创建新的对象。
i表示忽略大小写 m表示多行匹配 g表示全局查找
方括号用来表示匹配的范围:[ 任意字符 ]
一个[ ]表示匹配一个字符,几个[ ]表示匹配几个字符
[a-z]匹配a-z之间的一个字符
[0-9]0-9
[A-Z]A-Z
[^abc]写在[]里的^表示取反,表示除了^后的字符全都可以匹配
元字符:
. 查找单个字符,除了换行和行结束符
\w查找单词字符:[A-Za-z0-9_]
\W查找非单词字符
\d查找数字:[0-9]
\D查找非数字
\s查找空白字符:[\t\n\r\v\f]
\S查找非空白字符
修饰类元字符:
\b匹配单词边界
\B匹配非单词边界
量词:
n{x}匹配包含x个n的字符串
n{x,y}匹配x至y之间的n的字符串
n{x,}匹配至少x个n
n+匹配至少一个n
n*匹配包含零个或多个n的字符串
n?匹配包含0个或1个n的字符串
修饰类量词:
n$匹配以n结尾的字符串
^n匹配以n开头的字符串
方法:
exec:找到字符串中指定的值,返回找到的值,并找到其位置,返回一个类数组。
reg.exec(str);
随着寻找,游标lastIndex属性也会变化,可设置其为0来初始化。
test:检索字符串中指定的值。返回 true 或 false。可以简单点理解就是exec的简化版本,一般用在正在验证中。常用。
reg.test(str)