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中定义对象类别
Dec 22 Javascript
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
原生javascript实现拖动元素示例代码
Sep 01 Javascript
node.js [superAgent] 请求使用示例
Mar 13 Javascript
JavaScript中的函数嵌套使用
Jun 04 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
Jan 28 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
AngularJS动态加载模块和依赖的方法分析
Nov 08 Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 Javascript
详解vuex commit保存数据技巧
Dec 25 Javascript
说说如何在Vue.js中实现数字输入组件的方法
Jan 08 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
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP函数积累总结
2019/03/19 PHP
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python爬取网易云音乐评论
2018/11/16 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python 创建一维的0向量实例
2019/12/02 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
新郎婚宴答谢词
2014/01/19 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
律师催款函范文
2015/06/24 职场文书
教师节联欢会主持词
2015/07/04 职场文书
MySQL Router的安装部署
2021/04/24 MySQL