主页 > 专题教程 > javascript > js基础 >
来源:自学PHP网 时间:2018-02-08 10:24 作者: 阅读:次
[导读] 我们在程序中除了可以使用正则表达式对象的方法test()和exec()进行字符串测试和匹配之外,还可以使用String对象的4个方法来完成这些任务。...
|
我们在程序中除了可以使用正则表达式对象的方法
字符串对象的
matchArr = myString.match(regex);
其中,“myString”为要搜索的字符串,“regex”为指定的匹配模式的正则表达式。 下面是一个
var matchArr = new Array();
var mystring = "人在智慧上应当是明豁的,道德上应该是清白的,身体上应该是清洁的。";
var regex = /应[当该]/g;
var matchArr = mystring.match(regex);
document.write("匹配子串的个数为: "+matchArr.length+"<br>");
for (var i = 0; i < matchArr.length; i++) {
document.write("第"+i+"个匹配的子串为: "+matchArr[i]+ "<br>");
}
执行上面的代码,我们将得到下面的结果:
匹配子串的个数为: 3
第0个匹配的子串为: 应当
第1个匹配的子串为: 应该
第2个匹配的子串为: 应该
上面的例子中,将 字符串对象的
originalString = sourceString.replace(regex,value);
其中,originalString是替换完成后的字符串,sourceString是替换前的字符串,regex是指定匹配模式的正则表达式,value是替换后的内容。 下面是一个使用
var oldString = "不论是狮子还是羚羊,都要奔跑;不论是贫穷还是富有,都要去奋斗。"
var regex = /不论/g;
var newString = oldString.replace(regex,"不管");
document.write(newString);
在上面的例子中,使用
不管是狮子还是羚羊,都要奔跑;不管是贫穷还是富有,都要去奋斗。
对于简单的字符串搜索,字符串对象的
var index = myString.search(regex);
其中,index保存了 下面是一个使用
var myString = "人不能象走兽那样活着,应该追求知识和美德。";
var regex = /知识/g;
var index = myString.search(regex);
document.write("在字符串的第 "+index+" 个字符位置找到了匹配模式: "+regex);
执行上面的代码得到的结果如下:
在字符串的第 15 个字符位置找到了匹配模式: /知识/g
从0开始计数,匹配模式“知识”位于字符串的第15个字符(一个汉字算一个字符)的位置。 字符串对象的
splitArr = myString.split(regex);
其中splitArr保存 下面是一个使用
var splitArr = new Array();
var myString = "中国、美国、英国、法国、俄罗斯";
var regex = /、/;
splitArr = myString.split(regex);
for (var i = 0; i < splitArr.length; i++) {
document.write(splitArr[i]+ "<br>");
}
在这个例子中,使用的正则表达式模式为一个顿号,用它来分割字符串myString,得到的结果如下:
中国
美国
英国
法国
俄罗斯
我们也可以使用更为复杂的正则表达式模式,例如下面的例子:
var splitArr = new Array();
var myString = "中国、美国;英国、法国 俄罗斯";
var regex = /[、; ]/;
splitArr = myString.split(regex);
for (var i = 0; i < splitArr.length; i++) {
document.write(splitArr[i]+ "<br>");
}
在上面的代码中,使用的正则表达式模式为顿号、分号和空格中的任何一个来分割字符串myString,得到的结果和上例相同。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com