正则表达式

正则表达式

1.含义

正则表达式——也叫规则,让计算机能够读懂人类的规则,由人提供给计算机,让它进行多方面的判断。

2.特点:

  • 使用正则表达式可以大大简化代码
  • 它的性能比正常的函数方法要好
  • 正则都是操作字符串的

3.方法

  • \  : 转义字符
  • \d : 0-9之间的任意一个数字(\d只占一个位置)
  • \w : 数字,字母 ,下划线(0-9 a-z A-Z _)
  • \s : 空格或者空白等
  • \D : 除了\d
  • \W : 除了\w
  • \S : 除了\s
  • .  : 除了\n之外的任意一个字符(\.真正的点)
  • \n : 匹配换行符
  • \b : 匹配边界 字符串的开头和结尾 空格的两边都是边界 => 不占用字符串位数

4.正则的用法:

  • test:正则去匹配字符串,如果成功就返回真,失败则返回假,语法:正则.test(字符串),返回的是布尔值,用途是判断。
  • search:正则去匹配字符串,如果成功返回匹配成功的位置,如果失败就返回-1(类似indexOf),语法:字符串.search(正则);注意:在正则里默认是区分大小写的,如果需要不区分,在正则的最后加标识i
  • match:正则去匹配字符串,如果成功返回数组,如果失败就返回null,语法:字符串.match(正则)
  • replace:类似替换节点(replaceChild),正则去匹配字符串,匹配成功的字符会替换成新的字符串,语法:字符串.replace(正则,新的字符串),第二个参数可以是字符串也可以是回调函数,回调函数的第一个参数就是每次匹配成功的字符

5.关于正则表达式的一些例子

(1)关于replace用法

var str = 'aaabaaca';
var re = /a+/g;
str=str.replace(re,function($0){
	return "*";
});
alert(str);

运行下来结果是:*b*c*。正则表达式的意思是,全局匹配一个或多个a。replace方法,就是将匹配到的一个或多个a换为*,

(2)关于search用法

var str = 'abcdef';
var re = /B/i;
alert(str.search(re));

运行下来结果是:1。正则表达式的意思是,匹配是不是有b或者B,i代表不区分大小写。search方法找到了b的位置是第1个,所以弹窗弹出来1。

(3)关于test用法

var str = "1234567";
var re = /\D/;
alert(re.test(str));

运行下来结果是:false。正则表达式的意思是,匹配不是数字的。test方法运行后是false,表示没有不是数字的。

6.练习

(1)用正则表达式去掉标签

var str= '

123123123

kdskgkgk'; str = str.replace(/(").+(")/g,""); str = str.replace(/<[^<>]+>/g,""); console.log(str);

运行结果:123123123kdskgkgk。

(2)用正则表达式将"2017-6-7 font-size"改为"2017.6.7 font-size"的形式。

var str = '2017-6-7 font-size';
var re = /(\d)(-)/g;
str = str.replace(re,function ($0,$1,$2){
	return $1+".";
})
console.log(str);

运行结果:2017.6.7 font-size。正则匹配一个数字加一个-,然后用这个数字加一个 .  代替它。

 

你可能感兴趣的:(正则表达式)