格式:/正则表达式/g
var a="He is a boy 233";
var s=a.replace( /\bis\b/g , 'IS' );
console.log(s); // He IS a boy 233var m=a.replace( /\bis\b/g , '');
console.log(m); // He a boy 233var n=a.replace( /[^0-9]/g , '' );
console.log(n); // "233" [^0-9]这是反向类,下面有详细的说明
构造函数 : 使用RegExp构造函数 var regex=new RegExp("xyz"); //在运行时新建正则表达式
var reg=new RegExp('正则表达式','标识符')
标识符:
g : global全文搜索,不添加时,搜索到第一个匹配停止
var a="He is a boy.This is a dog.";
var reg1=new RegExp('/\bis\b/');
var s1=a.replace(reg1,'IS');
console.log(s1); // He IS a boy.This is a dog.var reg2=new RegExp('/\bis\b/', 'g');
var s2=a.replace(reg2,'IS');
console.log(s2); // He IS a boy.This IS a dog.
i : ignore case 忽略大小写,默认大小写敏感
var a='a1Ab2B';
var s1=a.replace(/[a-e]/g,'Q');
console.log(s1); // 'Q1AQ2B' 默认大小写敏感var s2=a.replace(/[a-e]/ig,'Q');
console.log(s2); //'Q1QQ2Q' //忽略大小写
m : multiline 表示多行匹配
元字符
正则表达式由两种基本基本字符类型组成
原义文本字符
元字符 : 在正则表达式中有特殊含义的非字母字符
元字符
\t
水平制表符
\v
垂直制表符
\n
换行符
\r
回车符
\0
空字符
\f
换页符
字符类
一般情况下正则表达式一个字符对应字符串一个字符
可以使用元字符构建一个简单的类,所谓类是指符合某些特性的对象,一个泛指,而不是特指
表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类的字符
'ab cd ef'.replace(/[acf]/g,'x'); // 'xb xd ex'
[a-z] 表示从 a 到 z 的任意字符 // 这是一个闭区间,也就是包含 a 和 z 本身var a='a1b2c3d4e5f6';
var s=a.replace(/[b-e]/g,'W');
console.log(s) // 'a1W2W3W4W5f6'
在 [ ] 组成的类内部是可以连写的
var a='a1Ab2Bc3Cd4De5E';
var s1=a.replace(/[a-e]/g,'Q');
console.log(s1); // 'Q1AQ2BQ3CQ4DQ5E'
var s2=a.replace(/[a-zA-Z]/g,'Q');
console.log(s2); // 'Q1QQ2QQ3QQ4QQ5Q'
一个需要注意的点
var a=2016-05-16;
var s1=a.replace(/[0-9]/g,'A');
console.log(s1); // AAAA-AA-AA
若需要将中间的 - 也匹配到则 [0-9-]
var s2=a.replace(/[0-9-]/g,'A');
console.log(s2); // AAAAAAAAAAAA
预定义类
字符
等价类
含义
.
[^\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]
非单词字符
一个例子
var a='this is ab2hh';
var s=a.replace(/ab\d./g,'Q');
console.log(s) // this is Qh
边界匹配字符
字符
含义
^
以xxx开始
$
以xxx结束
\b
单词边界
\B
非单词边界
一些实例
var a='This is a cat';
var s=a.replace(/\bis\b/g,'IS');
console.log(s); // This IS a cat var b='@abc@def@';
var s1=b.replace(/@./g,'Q');
console.log(s1); // 'QabcQdef@'var s2=b.replace(/^@./g,'Q');
console.log(s2); // 'Qabc@def@'var s3=b.replace(/.@$/g,'Q');
console.log(s3); // '@abc@defQ'
量词
字符
含义
?
出现零次或一次(最多出现一次)
+
出现一次或多次(至少出现一次)
*
出现零次或多次(任意次)
{n}
出现n次
{n,m}
出现n到m次
{n , }
至少出现n次
一些实例
var a='a123456bc';
var s1=a.replace(/\d+/g,'h');
console.log(s1); //ahbcvar s2=a.replace(/\d{2}/g,'h');
console.log(s2); //ahhhbc
正则表达式:就是按照某种规则去匹配符合条件的字符串javascrip通过内置对象RegExp支持正则表达式有两种方法实例化RegExp对象使用字面量,以斜杠表示开始课结束 var regex=/xyz/; //在编译时新建正则表达式格式:/正则表达式/g var a="He is a boy 233"; var s=a.re...