Javascript正则表达式常用方法、属性介绍
实例化RegExp对象
1.方法一:字面量方法
var reg = /\bis/g;
string .replace(reg, 'IS' );
2.方法二:构造函数
var reg = new RegEpx('/\bis/' , 'g' );
字符类别介绍
字符 等价表 含义 . [^\r\n] 匹配除了换行符和回车符外任意字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \w [a-zA-Z0-9] 单词字符(字母、数字、下划线) \W [^a-zA-Z0-9] 非单词字符 \s 空白符(空格、制表符、换页符、换行符等) \S 匹配非空白符 \t 水平制表符 \r 回车符 \n 换行符 \v 垂直制表符 \f 换页符
字符集合
字符集合 含义 [xyz] 匹配xyz中任意一个字符 [^xyz] 匹配不在括号内的字符
边界
边界字符 含义 ^ 以XXX开始 $ 以XXX结束 \b 单词边界 \B 非单词边界
几种边界情况说明
/^A/ 不匹配 “an A” 中的 “A”,但匹配 “An A” 中的 “A” /t$/ 不匹配 “eater” 中的 “t”,但匹配 “eat” 中的 “t” /\bno/ 匹配 “at noon” 中的 “no”,/ly\b/ 匹配 “possibly yesterday.” 中的 “ly” /\Bon/ 匹配 “at noon” 中的 “on”,/ye\B/ 匹配 “possibly yesterday.” 中的 “ye”
量词、贪婪模式、非贪婪模式
实例 说明 X? 匹配X零次或一次 X+ 匹配X一次或多次 X* 匹配X零次或多次 X*? 最小匹配,最多匹配一次,?表示贪婪模式 X+? 最小匹配,最多匹配一次,?表示贪婪模式 X(?=Y) 只有当X后紧跟Y是,才匹配X,正向肯定 X(?!Y) 只有当X后面不紧跟Y时,才匹配X,正向否定 X Y X{n} X连续出现n次时才匹配 X{n,m} X连续出现n到m次才匹配,会尽量多的匹配,非贪婪模式 X{n,} X至少出现n次时才匹配
Regexp实例属性和方法
方法:exec()、test()、toSource()、toString()
exex()方法:返回数组,没有匹配返回null
var re = /quick\s(brown).+?(jumps)/ig ;
var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog' );
var regexp = /fooBar/g ;
console.log(regexp.source());
字符串使用正则表达式常用方法:
serach()、match()、split()、replace()
str .serach(regepx);
str .match (regepx);
str .split(regepx|substr);
str .replace(reg|substr, newSubstr|function);