`

正则匹配

 
阅读更多
RegExp.prototype.exec() 方法:用于检索字符串中的正则表达式的匹配。

         语法:RegExpObject.exec(string) 
    找到了匹配的文本,返回一个结果数组,并且更新正则表达式对象的属性。
    否则,返回 null。

var myRe = /ab*/g;
var str = 'abbcdefabh';
var myArray;
while ((myArray = myRe.exec(str)) !== null) {
  var msg = 'Found ' + myArray[0] + '. ';
//查找将从正则表达式的  lastIndex 属性指定的位置开始,每次迭代时 lastIndex 的属性都被重置,不能放在 while 条件表达式里
  msg += 'Next match starts at ' + myRe.lastIndex;
  console.log(msg);
//Found abb. Next match starts at 3
//Found ab. Next match starts at 9
}


String.prototype.match()方法: 当字符串匹配到正则表达式(regular expression)时,会提取匹配项。

         语法:str.match(regexp);
      返回一个包含匹配结果的数组,如果没有匹配项,则返回 null。
      如果正则表达式没有 g 标志,返回和 RegExp.exec(str) 相同的结果。
      如果正则表达式包含 g 标志,则该方法返回一个包含所有匹配结果的数组。

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);
console.log(matches_array);
//["A", "B", "C", "D", "E", "a", "b", "c", "d", "e"] 
var exec_array = regexp.exec(str);
console.log(exec_array);
//两个额外属性:index是匹配字符串的起始位置,input是整个输入字符串。
//["A", index: 0, input: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"]


var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/;
var matches_array = str.match(regexp);
console.log(matches_array);
//["A", index: 0, input: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"]
var exec_array = regexp.exec(str);
console.log(exec_array);
//["A", index: 0, input: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"]


结论:RegExp.prototype.exec() 与 String.prototype.match() 的不同之处
   --------无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。

当RegExp的global属性为true时,返回的数组是不同的

  match方法返回的数组包含着所有匹配字符串,没有子匹配字符串和额外属性。此时,lastIndex属性无效。

  exec方法返回的数组格式与global为false时一样,只是此时RegExp的lastIndex属性有效,匹配是从lastIndex所指示的字符开始的,并且方法执行后会将lastIndex置为本次匹配字符串的下一个字符处,所以循环执行exec方法时会依次匹配整个字符串,直到字符串最后返回null,并将lastIndex置0。

http://www.cnblogs.com/zhaoran/archive/2013/01/10/2854852.html
分享到:
评论

相关推荐

    随风正则匹配工具 v1.0.0.0.zip

    随风正则匹配工具支持多语言,自动生成正则文本,根据语言的不同,生成不同的执行语法,匹配成功后直接复制后可到所属语言直接使用。 随风正则匹配工具功能: 一:支持多语言,目前支易、PHP、JSP等 二:自动生成...

    随风正则匹配工具

    随风正则匹配工具是一款专为用户设计的高效、便捷的正则表达式测试和调试工具。在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于数据验证、搜索替换、文本提取等多种场景。这款...

    全角数字正则匹配后输出半角数字

    全角数字正则匹配后输出半角数字,可以把日期字符串中的全角转换成半角,又便于转换成日期格式

    易语言正则匹配网页链接

    在提供的压缩包文件"易语言正则匹配网页链接源码"中,应该包含了实现这些功能的具体代码。通过阅读和学习这段源码,你可以了解到如何在易语言中使用正则表达式来解析和处理网页链接,这对于网络爬虫、网页分析等项目...

    正则匹配小工具源码.zip

    正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip正则匹配小工具源码.zip...

    Android常用字符串匹配正则

    isMobileSimple : 验证手机号(简单) isMobileExact : 验证手机号(精确) isTel : 验证电话号码 isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 ...getReplaceAll : 替换所有正则匹配的部分

    正则匹配字符串中是否包含网址

    正则匹配字符串中是否包含网址,跟微信的匹配规则相似。有需要的小伙伴可以下载来试一下,规则基本跟微信的匹配规则相似。

    简单帅气正则匹配小工具

    "简单帅气正则匹配小工具" 提供了一个直观易用的界面,使得用户能够更加轻松地理解和应用正则表达式。 1. 正则表达式基础: - 基本元素:正则表达式由字符、元字符和量词组成。常见的字符包括字母、数字、空格等,...

    JAVA正则匹配工具

    常用的绿色的正则匹配工具,平常一直用的。很好用分享一下。

    易语言正则匹配小工具

    易语言正则匹配小工具是一款基于易语言编程的实用程序,它主要功能是进行文本的正则表达式匹配。在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于数据验证、搜索与替换等场景。...

    侠客正则匹配工具

    侠客正则匹配工具

    表情代码正则匹配

    项目中常用的 表情代码正则匹配,在数据库中建立表情表,将表情id与其路径转换

    10.1、正则匹配-正则表达式 Regular Expression(一).mp4

    Python零基础10天进阶班【10正则匹配-正则表达式 Regular Expression、树形模型(树形匹配)-intro bs4、爬虫】

    10.2、正则匹配-正则表达式 Regular Expression(二).mp4

    Python零基础10天进阶班【10正则匹配-正则表达式 Regular Expression、树形模型(树形匹配)-intro bs4、爬虫】

    关于在LABVIEW中使用正则匹配公式.vi

    在labview中使用正则匹配模式很简单,难的就是使用正则表达式。很多人都搞不明白,查了很多资料还是不太明白。实际上就是一些类似通配符在作怪和其他语言也差不多。附件带上了,可以研究研究,构造正则表达式的方法...

    10.3、正则匹配-正则表达式 Regular Expression(三).mp4

    Python零基础10天进阶班【10正则匹配-正则表达式 Regular Expression、树形模型(树形匹配)-intro bs4、爬虫】

    Go-gohs-Ladon海量正则快速匹配给定一行字符串

    Go-gohs-Ladon充分利用Go语言的并发特性及内存管理优势,通过优化的算法实现快速的正则匹配。其设计目标是提供一个轻量级、高效率且易于使用的解决方案,帮助开发者从大量正则表达式中筛选出有效信息。 2. **核心...

    C的正则匹配

    本文将深入探讨C语言中的正则匹配,包括基本概念、API使用及其实现原理。我们将通过分析`regex.c`源码来了解其工作方式。 一、正则表达式基础 1. 正则表达式的组成: - 字符:匹配单个字符,如'a'匹配字符'a'。 ...

    字符串、日期、正则匹配工具类

    日期转时间,时间转日期,正则匹配,首字母转大小写,日期工具类,转ASCII码等等

    javascript正则匹配页面关键字

    在网页开发中,我们常常需要通过正则表达式来匹配页面上的关键字,以实现诸如搜索高亮、关键词提取等功能。下面我们将详细探讨JavaScript中的正则表达式以及如何在实际应用中进行关键字匹配。 1. 正则表达式基础 -...

Global site tag (gtag.js) - Google Analytics