JavaScript 正则表达式02

来源:互联网 发布:多媒体软件系统 编辑:程序博客网 时间:2024/06/03 08:31
正则表达式02--->总体方法

match----->返回匹配的对应的值
search----->返回搜索到的第一个指定字符串的下标
replace---->替换指定的值
split-------->按照指定的方法分割成为数组

静态方法----->由RegExp类名直接调用

input------>返回当前匹配的值
leftContext>返回当前匹配的值的左边的内容
rightContext返回当前匹配的值的右边的内容
lastMatch->返回当前匹配的最后一个值
lastParen-->返回当前匹配的最后一个()里面的值

实例方法
global----->返回boolean值,判断是否设置了g
ignoreCase>返回boolean值,判断是否设置了i
multiline-->返回boolean值,判断是否设置了m
source----->返回源字符串
lastIndex-->返回下一次开始匹配的下标

具体代码----------------------------------

正则表达式 02 -------------------> match search replace


match 只支持 String 字符串类型调用??
注意:i  m  
var str1 = /Box/i;
var str2 = "This is a box ! That is a box ! "; 由于没有添加 g,进行全局匹配,所以只返回了一个box
alert(str2.match(str1));


var str1 = /Box/ig;
var str2 = "This is a box ! That is a box ! "; 由于添加了 g,进行了全局匹配,所以只返回了两个 box
alert(str2.match(str1)); 如果没有,就弹出null


var str1 = /Box/ig;
var str2 = "This is a box ! That is a box ! "; 此处弹出的是 下标为 0的数组,足以证明:返回类型是数组
var s = str2.match(str1);
alert(s[0]);



---------------------------------------------------------------------------------------


search-->查找对应的字符串

var str1 = /Box/i;
var str2 = "This is a box! That is a box!"; 返回搜索到的 第一个下标,此处是10 
alert(str2.search(str1));


var str1 = /xox/i;
var str2 = "This is a box! That is a box!"; 如果没有,就弹出 -1
alert(str2.search(str1));



----------------------------------------------------------------------------------------


replace--->替换对应的字符串

var str1 = /Box/;
var str2 = "This is a box! That is a box";
alert(str2.replace("box","Box")); 如果没有开启全局,就只是替换第一个


var str1 = /Box/i; 开启了全局,都要替换
var str2 = "This is a box! That is a box";
alert(str2.replace("box","Box"));


var str1 = /Box/ig;
var str2 = "This is a box! That is a Box";replace,替换元素,间接替换
alert(str2.replace(str1,'Tom'));


var str2 = "This is a box! That is a Box";replace,替换元素,直接替换
alert(str2.replace("Box",'Tom'));



----------------------------------------------------------------------------------------


split---->按照指定的方法 分割成为数组
var str1 = / /;
var str2 = "This is a box! That is a Box!";split--按照指定的方式进行分割成为数组。此处,按照空格分割
alert(str2.split(str1));
alert(str2.split(str1).length); 数组长度



----------------------------------------------------------------------------------------



接下来的是 RegExp() 静态方法,直接由类名调用:--》input,是输出被查找的参数

var str1 = /google/;
var str2 = "This is google";
str1.test(str2);
alert(RegExp.input);如果没有此行以上的行,就弹出空白;此处弹出当前被匹配的字符串


var str1 = /google/;
var str2 = "This is google";
str1.test(str2);
alert(RegExp.i;nput); 如果没有此行以上的行,就弹出空白;此处弹出当前被匹配的字符串
alert(RegExp.leftContext) 此处----》leftContext的作用是输出 最后一次匹配之前的 字符串


var str1 = /google/;
var str2 = "This is google!";
str1.test(str2);
alert(RegExp.input); 如果没有此行以上的行,就弹出空白;此处弹出当前被匹配的字符串
alert(RegExp.rightContext);此处----》 rightContext的作用是输出 最后一次匹配之后的 字符串


var str1 = /google/;
var str2 = "This is google!";
str1.test(str2);
alert(RegExp.input); 如果没有此行以上的行,就弹出空白;此处弹出当前被匹配的字符串
alert(RegExp.lastMatch);最后一个被匹配的


var str1 = /goo(g)l(e)/;
var str2 = "This is google";
alert( str1.test(str2));
alert(RegExp.lastParen);表示返回最后一次匹配的 () 里面的



----------------------------------------------------------------------------------------


接下来的是 RegExp() 实例方法


var str = /google/g; 判断 是否设置了 g ,返回布尔值
alert(str.global);


var str = /google/i; 是否设置了 i ,,返回布尔值
alert(str.ignoreCase);


var str = /google/m;
alert(str.multiline);是否设置了m


var str = /google/; 输出源字符串,,此处输出google
alert(str.source);



var str1 = /google/g;
var str2 = "google google google";
str1.test(str2);
str1.test(str2); lastIndex属性用于规定下次匹配的起始位置,此处返回13,表示,下次匹配,从13开始
alert(str1.lastIndex); lastindex支持手动设置
0 0
原创粉丝点击