这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
下面小编就为大家带来一篇 JavaScript 学习笔记整理_用于模式匹配的 String 方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
用于模式匹配的 String 方法:
String 支持 4 种使用正则表达式的方法:
seach() 用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回 - 1,如果参数不是正则表达式,则首先会通过 RexExp 构造函数将它转换成正则表达式,seach() 方法不支持全局搜索,它忽略修饰符 g;
replace() 用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符 g 则全文匹配。若第一个参数不是正则表达式而是字符串,则直接搜索替换掉这个字符串;
text.replace(/javascript/gi,'JavaScript') 表示在 text 全文中搜索不区分大小写的 javascript 替换成 JavaScript
如果用来替换的字符串中出现($ 加数字),则 replace() 方法将用与 $ 加数字指代的子表达式匹配的文本来替换,如:
var quote = /"([^"]*)"/g
text.replace(quote,'"$1"'); 全文搜索与 /"([^"]*)"/ 匹配的字符串,替换为"$1"(表示只改变两边的双引号为中文半角,而存储在 $1 中的内容不变)$1 存储了指代与第一个左圆括号内的子表达式匹配的字符串;
match() 唯一的参数是一个正则表达式,返回的是一个由匹配结果组成的数组,如果参数不是正则表达式,则首先会通过 RexExp 构造函数将它转换成正则表达式;
(二)如果这个正则表达式带修饰符 g,match() 返回的数组元素是匹配全文得到的所有字符串;
(二)如果这个正则表达式不带修饰符 g,match() 只检索第一个匹配,但他也返回一个数组(数组的第一个元素是匹配的整个字符串,接下来的元素是表达式中所有用圆括号括起来的子表达式匹配到的字符串,每个元素对应一个括号)
如:
- var url = /(\w*):\/\/([\w.]+)\/(\S*)/;
- var text = 'http://www.w3school.com.cn/jsref';
- var result = text.match(url);
- if (result != null) {
- var fullurl = result[0];
- var protocol = result[1];
- var host = result[2];
- var path = result[3];
- }
split() 将字符串按参数指定的分隔符拆分为多个子串组成的数组,如:
'123,345,789'.split(','); // 返回 ['123','345','789']
'1, 2 , 3, 4 ,5 , 6'.split(/\s*,\s*/); // 返回 ['1','2','3','4','5','6']
以上就是小编为大家带来的 JavaScript 学习笔记整理_用于模式匹配的 String 方法的全部内容了,希望对大家有所帮助,多多支持 phperz~
来源: http://www.phperz.com/article/17/0513/331770.html