1 <script type='text/javascript'> 2 var patt1 = new RegExp('hello'); //声明正则 3 var patt2 = /world/; //声明正则 4 </script>
1 .test()方法 检索字符串中指定值。返回true 或 false
var pat=/my/; var str = 'this is my code...'; pat.test(str); //返回true;
2 .exec()方法 检索字符串中的指定的值。返回值是被找到的值,如果没有发现匹配,则返回null
var pat = /hello/; pat.exec("oh hello world"); //返回hello
3 正则表达式类型
/pattern/attributes 参数attributes是一个可选的字符串,常用属性‘g''i';'g'用于指定全局匹配,’i‘用于忽略区分大小写的匹配。
1 var str = 'hello Hunger valley!I am hunger'; 2 var patt1 = /hunger/gi; //全局匹配hugger且忽略大小写 3 str.match(patt1);
4 .match() 方法 返回匹配的所有字符串结果 组成数组[ , ],若没有则返回null
字符串正则:
1 .search() 字符串查找
var str='visit w3school'; str.search(/W3school/); //返回-1 str.search(/w3school/i); //返回6
2 .match() 字符串匹配
1 var str= '1 plus 2 equal 33'; 2 str.match(/d+/); //返回[1] 3 str.match(/d+/i); //返回[1,2,33]
3 .replace()字符串替换
var str='Hello jiki! oh I am jikexueyuan'; str.replace(/jike/,'valley'); //匹配第一个; str.replace(/jike/ig,'valley'); //匹配全局;但str本身不变,只是此表达式结果改变
4 .split()字符串分割
1 var str = 'hello Hunger , oh i am hunger'; 2 str.split(''); 3 str.split(/s+/);
正则常用文档
1 转译字符串 匹配一个换行符
^ 匹配字符串的开始位置
$ 匹配输入字符串的结束位置
* 匹配前面的子表达式零次或多次 {0,}
+ 匹配前面的子表达式一次或多次 {1,}
? 匹配前面的子表达式零次或一次 {0,1}
{n} 匹配确定的n次
{n,} 至少匹配n次,
{n,m} 最少匹配n次,最多匹配m次
x|y 匹配x或y
[xyz] 字符集合 匹配其中的任意一个字符 x yz
[^xyz] 匹配非x y z 的字符
[a-z] [^a-z]
匹配单词边界
B匹配非单词边界
d 匹配一个数字字符[0-9]
D 匹配一个非数字字符[^0-9]
匹配一个回车符
s 匹配任何空白字符
W 匹配任何非单词字符
w 匹配任何包括下划线的单词字符