javascript正则表达式方法

转载 2012年03月22日 08:58:22
正则表达式中 test、exec、match 方法区别

test


test 返回 Boolean,查找对应的字符串中是否存在模式。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true


exec


exec 查找并返回当前的匹配结果,并以数组的形式返回。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
如果不存在模式,则 arr 为 null,否则 arr 总是一个长度为 1 的数组,其值就是当前匹配项。arr 还有三个属性:index 当前匹配项的位置;lastIndex 当前匹配项结束的位置(index + 当前匹配项的长度);input 如上示例中 input 就是 str。


exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述两个输出都是 1a。现在再看看指定参数 g:
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述第一个输出 1a,第二个输出 1b。


match


match 是 String 对象的一个方法。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。
如果指定了参数 g,那么 match 一次返回所有的结果。
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是一样的
此结果为一个数组,有三个元素,分别是:1a、1b、1c。


javascript常用正则表达式和解析

一、正则表达式(regular expression简称res) 1、定义: 一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。...
  • u012572955
  • u012572955
  • 2015年07月20日 09:16
  • 2263

什么是正则表达式?在JavaScript中,如何应用正则表达式?

正则表达式(Regular Expression) 本身就是一个字符串,由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式。正则表达式常用于在一段文本中搜索、匹配或替换特定形式的文本。...
  • u012396955
  • u012396955
  • 2016年12月29日 17:09
  • 353

JavaScript的中文正则及常用正则表达式

  • QQ635785620
  • QQ635785620
  • 2013年09月06日 11:03
  • 5345

javascript正则表达式小数类型

如果想要阅读和理解一下的,可以读一下。如果只需要结果,直接跳到本文最后。 曾经有需求用javascript正则表达式匹配小数类型,后来自己之前写的也是不能完全正确识别。 后来在网上找了许多,甚至包括一...
  • festone000
  • festone000
  • 2014年08月23日 11:37
  • 1141

javascript正则表达式总结(test|match|search|replace|split|exec)

学javascript正则的好文一篇:http://www.cainiao8.com/web/js_note/js_regular_expression.html test:测试string...
  • wusuopuBUPT
  • wusuopuBUPT
  • 2014年03月13日 17:10
  • 8222

javascript 正则表达式 获取全部分组内容

需要使用正则表达式的exec 需要循环 DEMO,如下代码将输出 8 , 9,两个匹配到的分组内容 var r = /\{ab(\d)ab}/g; var resultS = "ab{ab...
  • ISaiSai
  • ISaiSai
  • 2016年04月24日 20:27
  • 636

JavaScript中的split函数中的正则表达式

JavaScript中的split函数中的正则表达式最近在看《JavaScript高级程序设计》的时候,看到split函数传入正则表达式的时候不是很理解,查了一些资料基本和书上说的一样,看不太懂,打算...
  • a_leading
  • a_leading
  • 2017年04月25日 08:28
  • 2398

Javascript常用正则表达式以及JS常见正则表达式笔试题

JS正则表达式,在表单验证等方面都有应用,下面结合学习经过,整理一些初学 者所需要掌握的一些基本JS正则规则: 1.正则表达式基础语法练习 (1)校验邮政编码(由六位组成) 这...
  • liwusen
  • liwusen
  • 2016年02月21日 13:56
  • 2896

《JavaScript高级程序设计》笔记——正则表达式

如果说这是一篇关于正则表达式的小结,我更愿意把它当做一个手册。 RegExp 三大方法 本文的RegExp采用直接量语法表示:/pattern/attributes。attributes有...
  • thumd_lee
  • thumd_lee
  • 2016年12月08日 20:17
  • 295

使用js中的exec()方法构造正则表达式验证

一、Javascript中的正则表达式 在Javascript中,可以使用RegExp对象构造正则表达。我们需要新建一个实例化的RegExp()对象,可以传入两个参数:第一个参数是匹配的模式,第二个参...
  • fareise
  • fareise
  • 2016年08月01日 09:42
  • 1796
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript正则表达式方法
举报原因:
原因补充:

(最多只允许输入30个字)