正则表达式的使用

以前不知道正则表达式怎么用,查“正则表达式”出来的全是正则表达式/a/的写法,筛选了好久才找到怎么使用正则表达式。

正则表达式怎么写这里就不介绍了。

这篇文章就介绍正则表达式怎么使用;使用包括四个方法: test(); search(); match; replace();

1、test方法;匹配成功返回 true, 否则返回 false;

写法:  正则.test(字符串);

如 /aa/.test("aabbccdd") ; 可以匹配成功,返回true;

2、search方法; 如果匹配成功则返回匹配成功的位置(有点类似于indexOf() );否则返回-1;

写法: 字符串.search(正则);

如 "aabbccdd".search(/bb/) ;匹配成功,返回位置2;

3、match方法; 如果匹配成功,就返回匹配成功的数组,否则返回Null;

写法:字符串.match(正则);

如 "aaccdaec".match(/a[abe]c/); 匹配成功,返回["aac"];

默认查找到第一个就停止,如果要全局多次匹配,则在表达式后加上g参数,

如 "aaccdaec".match(/a[abe]c/g); 匹配成功,返回["aac", "aec"] ;

4、replace方法;匹配成功的字符串替换成新的字符串,并返回替换后的新的完整字符串;

写法1: 字符串.replace(正则, 新的字符串);

如 "aabbccdd".replace(/bb/, "mm"); 匹配成功,返回"aammccdd";

写法2:字符串.replace(正则, function($0,$1,$2){return 新字符串} ); 

$0是匹配的字符串,$1匹配到的字符串在原字符串 中出现的位置。$3是原字符串本身。

对每次匹配到的地方都会执行一次后面的方法,方法中返回的字符串就是用来替换匹配到的字符串。

"aabbccdd".replace(/bb/g, function($0,$1,$2){
  return "mm";
})

完!

原文地址:https://www.cnblogs.com/chengduxiaoc/p/5024876.html