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

JavaScript 正则表达式02

2017-04-14 15:11 323 查看
正则表达式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  g
 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
支持手动设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: