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 相关文章推荐
js单例模式的两种方案
Oct 22 Javascript
js动态改变select选择变更option的index值示例
Jul 10 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
AngularJS入门教程之AngularJS 模板
Aug 18 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 Javascript
JavaScript使用类似break机制中断forEach循环的方法
Nov 13 Javascript
vue项目设置scrollTop不起作用(总结)
Dec 21 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
Apr 19 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 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经典的给图片加水印程序
2006/12/06 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
python RSA加密的示例
2020/12/09 Python
文明礼仪事迹材料
2014/01/09 职场文书
董事长助理岗位职责
2014/02/18 职场文书
2014年项目工作总结
2014/11/24 职场文书
开工典礼致辞
2015/07/29 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android