您的位置:首页 > Web前端 > JavaScript

js RegExp对象学习结合字符串replace方法使用

2017-04-11 11:19 811 查看
replace方法和RegExp结合使用
var str = "L.Rain";
var regExpTest = '' ;
regExpTest = str.replace(/[R|n]/g , "*");

var regExp = new RegExp("[R|n]","gi") ;
regExpTest = str.replace(regExp,'*') ;
//上面两种方式的效果一样


RegExp对象的构造函数可以带一个或两个参数,第一个参数是描述需要进行匹配的模式字符串,如果有第二个参数,这个参数则指定了额外的处理指令。
最基本的正则表达式就是普通的字符串 g :

var reCat = new RegExp("cat");
var reCat = /cat/;
var reCat = new RegExp("cat","g");
//第一和第二种 只拼配第一次的cat
//第三种 则匹配所有的cat


第二个参数表示要搜索字符串出现的全部的"cat",而不是找到第一个匹配后就停止。
如果还要模式不区分大小写,可以给第二个参数添加字符 i :

var reCat = new RegExp("cat","gi");
var reCat = /cat/gi;


测试:
var sToMatch = "cat";
var reCat = /cat/gi;
alert( reCat.test(sToMatch) );


RegExp对象涉及的方法:

RegExp.exec():访问模式的每一次出现
var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
var reAt = /at/;
var arrMatches = reAt.exec(sToMatch);
alert(arrMatches.length);   // output  1

RegExp.test():方法用于检测一个字符串是否匹配某个模式 常用于判断是否符合正则表达式 返回true 或 false
var str = "ExpTest";
var patt1 = new RegExp("ExpTest");
var result = patt1.test(str);

alert(result);//返回true 说明匹配到


String.match():String 对象的 match() 方法
var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
var reAt = /at/gi;
var arrMatches = sToMatch.match(reAt);
alert( arrMatches.length );   // output  6


String.search():此方法与 indexOf()方法类似,但是它使用的是一个RegExp对象,而并非一个字符串,返回的是字符串中一个匹配的位置。
(g)全局匹配在此方法不起作用。

String.replace():可以用另外一个字符串(第二个参数) 来代替某一个字符串或者一个匹配的模式字符串 (第一个参数)的所有匹配。
String.split():参数可以为一个字符串也可以为 一个匹配的模式字符串 RegExp对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: