快速记忆JavaScript中exec和match的使用
JS模式匹配中exec,match用得非常多,所以掌握其用法对我们进行字符串的处理帮助非常大
1.exec的定义其用法
exec与match主要的不同是,exec是正则表达式里面的方法.所以用的时候一定不要用字符串来调用。
看下面这段代码,输出多少呢?
var str= "hello world" ;
var p=/(\w){5}/g;
console.log(p.exec(str)) //["hello", "o", index: 0, input: "hello world"]
var str= "hello world" ;
var p=/(\w){4}(\w)/g; // ["hello", "l", "o", index: 0, input: "hello world"]
console.log(p.exec(str))
exec匹配的第一个元素是符合匹配条件的第一个字符串,后面的元素是分组的元素!
前面一段代码分组只有一个(\w)所以后面输出了一个"o"
后面一段代码分组有二个(\w)(\w)所以后面输出了一个"l" "o"
正则表达式中有没有g对exec没有任何影响,它的返回值固定是这个格式
2.match的定义其用法
match有一点特殊,正则表达式要区分有没有g的条件
1.在有g的条件下
var str= "hello world" ;
var p=/\w{5}/g;
console.log(str.match(p)) //["hello", "world"]
所有符合条件的会放入到一个数组里面去
2.在没有g的条件下
返回的值跟exec一致
总结: 我们记的时候,就只记二个就行了,exec返回的值和有G的时候的match返回的值
快速记忆JavaScript中exec和match的使用的更多相关文章
- JavaScript中字符串的match与replace方法
1.match方法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. match()方法的返回值为:存放匹配结果的数组. 2.replace方法 replace() 方 ...
- Javascript中正则的 match、test、exec使用方法和区别
总结: match 是str调用 test和exec是正则表达式调用 test只返回true或false, exec和match的结果是相同的,返回结果比较复杂
- 如何快速理解JavaScript 中重要语句for循环
一.基本结构:for(起始状态:判断条件:状态改变){ 执行语句: } 执行顺序:for(var i=1;i<3;i++){ alert(i); } 1.判断条件 2.执行语句 3. ...
- [javascript]巧用sourcemap快速定位javascript中的问题
大家都有过用-min.js开发的经历,但这样的脚本调试非常头疼.如果使用为压缩版的,上线前又要去压缩,sourcemap的出现完美解决了这一问题. 即便是chrome提供了格式化代码但阅读压缩后的代码 ...
- 快速弄清JavaScript中undefined和null的区别
ES6的7大数据类型里面有这俩玩意:undefined和null,让接触不深的学习者常常产生混淆,这俩玩意的区别在哪呢? 字面意思上来看,undefined是未(被我们)阐明的,未说明的,null则意 ...
- 深刻领悟javascript中的exec与match方法之异同
阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code: var someText="web2.0 .net2.0"; ...
- javascript中正则表达式中的 match,exec,test,replace 之我理解
这个正则 ($&) 的语法: https://msdn.microsoft.com/library/3k9c4a32(v=vs.94).aspx 在ECMAScript中对这几个的说明: ma ...
- 彻底领悟javascript中的exec与match方法
exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( "abc4def" ); //或 ...
- Javascript正则中的exec和match
分几种情况说明 1.假设re中不是全局的也就是不带g var str = "cat3 hat4"; var re = /\w+\d/; var ex = re.exec(str); ...
随机推荐
- 最近Get到的一些HTML/CSS中的小点(一)
1.<em>和<strong>标签都是用来强调一段话中的某几个文字.<em>默认斜体,<strong>默认粗体.在强调语气上<strong> ...
- 对比JQuery与JavaScript
JavaScript 是一种脚本语言,主要用在浏览器中,实现对网页的文档对象的操作和一些用户交互动作的处理.而 jQuery 则是 JavaScript 的一个代码库(或习惯性叫类库),它将一些在 J ...
- C语言中.h和.c文件解析
整理自C语言中.h和.c文件解析(很精彩) Part.1(林锐<高质量C/C++编程>) 通过头文件来调用库功能.在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的 ...
- 如何使用 Laravel Facades ?
Facade 布局是在面向对象编程中经常使用的一种软件设计布局方式.Facade 实际上是一种包括复杂函数库的类,提供了更加简洁易读的接口.Facade 布局还能为一组结构复杂.设计简陋的 API 提 ...
- Alice's Chance
poj1698:http://poj.org/problem?id=1698 题意:爱丽丝要拍电影,有n部电影,规定爱丽丝每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影 ...
- 修改窗口属性(全部都是SetWindowLong设置)
说明: 以下函数对于POPUP窗口有效,对于子窗口好像不行. //最小化按钮有效 ::SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_S ...
- [LeetCode#260]Single Number III
Problem: Given an array of numbers nums, in which exactly two elements appear only once and all the ...
- 去掉eclipse js 错误提示
1.去掉项目目录底下的.project文件中的以下部分:<buildCommand> <name>org.eclipse.wst.jsdt.core.javascri ...
- HDU-4570 Multi-bit Trie
http://acm.hdu.edu.cn/showproblem.php?pid=4570 Multi-bit Trie Time Limit: 2000/1000 MS (Java/Others) ...
- Python异常处理实例
#coding=utf-8 #---异常处理--- # 写一个自己定义的异常类 class MyInputException(Exception): def __init__(self, length ...