// 字符类 var reg = /[abc]/ //表示一类特征 var reg2= /[^abc]/ //非reg
// 范围类 var reg3 = /[a-zA-Z]/
// 预定义类(^在[]里面是取反) // \. => [^\r\n] 除了换行和回车之外的字符 // \d => [0-9] 数字 // \D => [^0-9] 非数字 // \s => [\t\n\x0B\f\r] 空白 // \S => [^\t\n\x0B\f\r] 非空白 // \w => [a-zA-Z_0-9] 字母数字下划线 // \W => [^a-zA-Z_0-9]
// 边界 // ^ 开头 // & 结尾 // \b 单词边界 // \B 非单词边界
// 量词 // ? 0次或者1次 // + 出现1次或者多次 // * 任意次 // {n} 出现n次 // {n,m} n 到 m次 // {n,}至少n次
// 贪婪模式(默认) 12345678.replace(/\d{3,6}/g,'X'); // X78
// 非贪婪模式 12345678.replace(/\d{3,6}?/g,'X'); // XX78
// 分组 var reg4 = /('thinkerchan'){3}/
// 或 var reg5 = /(a|b)/;
// 反向引用 // 2015-12-25 -> 12/25/2015 '2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1') // (变量) 要用括号阔起来
// 忽略分组 '2015-12-25'.replace(/(?:\d{4})-(\d{2})-(\d{2})/g,'$1/$2') // 12/25 , ?:就跳过了这个(\d{4})分组
// 前瞻, 正则表达式从头到尾解析, 文本尾部叫做"前", 文本头部叫做"后" 'a2*3'.replace(/\w(?=\d)/g,'X') // X2*3 前瞻部分只做参考
'a2*3'.replace(/\w(?!\d)/g,'X') //aX*X // 后顾(JS不支持)
// JS对象属性 (修饰符 i,g,m) var reg6 = /\w/; console.log(reg6.source) // 正则本身
// 以下三个默认值 g,m,i都为false, 都是只读的属性 console.log(reg6.global) // false console.log(reg6.multiline) //false console.log(reg6.ignoreCase) //false
// test和exec //略
var reg6 = /\w/g reg6.test('ab') //true reg6.test('ab') //true reg6.test('ab') //false 这是laseIndex属性影响的
// 字符串对象方法 'abc'.search('a') // 0 , 不存在就 -1
|
访客评论