JavaScript学习笔记整理_用于模式匹配的String方法


Posted in Javascript onSeptember 19, 2016

用于模式匹配的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方法的全部内容了,希望对大家有所帮助,多多支持三水点靠木~

Javascript 相关文章推荐
javascript 全等号运算符使用说明
May 31 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
Feb 19 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
node.js使用cluster实现多进程
Mar 17 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
Oct 26 Javascript
5分钟快速看懂ES6中的反射与代理
Dec 19 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 Javascript
JavaScript实现显示和隐藏图片
Apr 29 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 #Javascript
JavaScript学习笔记整理_关于表达式和语句
Sep 19 #Javascript
javascript学习笔记_浅谈基础语法,类型,变量
Sep 19 #Javascript
js中用cssText设置css样式的简单方法
Sep 19 #Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
Sep 19 #Javascript
基于jQuery实现中英文切换导航条效果
Sep 18 #Javascript
jQuery EasyUI常用数据验证汇总
Sep 18 #Javascript
You might like
PHP 缓存实现代码及详细注释
2010/05/16 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
浅析Python的Django框架中的Memcached
2015/07/23 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
基于Python的PIL库学习详解
2019/05/10 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
给老婆大人的检讨书
2014/02/24 职场文书
给孩子的新年寄语
2014/04/08 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
2014年审计人员工作总结
2014/12/19 职场文书