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 相关文章推荐
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
浅谈javascript 迭代方法
Jan 21 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
BootStrap响应式导航条实例介绍
May 06 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
js实现开启密码大写提示
Dec 21 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
基于Node.js实现压缩和解压缩的方法
Feb 13 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 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
最省空间的计数器
2006/10/09 PHP
UCenter Home二次开发指南
2009/05/28 PHP
php addslashes 函数详细分析说明
2009/06/23 PHP
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
js实现无缝轮播图
2020/03/09 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
python定时执行指定函数的方法
2015/05/27 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
Puppeteer使用示例详解
2019/06/20 Python
Python xlwt模块使用代码实例
2020/06/10 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
优秀通讯员事迹材料
2014/01/28 职场文书
双语教学实施方案
2014/03/23 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
法律意见书范本
2015/06/04 职场文书
高一化学教学反思
2016/02/22 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
Python数据结构之队列详解
2022/03/21 Python