在JS中,正则表达式事实上是一个对象,称之为RegExp类型,风格很类似于Perl。
常见的定义办法,也称为字面量形式,就是:
var reg=/pattern/flags
其中flags可以是多种选项的组合,这些选项包括:
i-- 不区分大小写(case--insentive),即在确定匹配项的时候不区分大小写
g-- 表示全局模式(global),即模式被应用于所有的字符串
m-- 表示多行模式(multiline) ,即在达到一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项
另外一种方式就是利用RegExp构造函数。它接受两个参数,第一个参数表示模式,而第二个参数表示可选项(就是i,g,m),例如:
var reg=/.at/i //以不区分大小写的形式匹配以at结尾的长度为3的字符串 //等效于 var reg=new RegExp("\.at","i");
正则表达式对象RegExp主要有以下两个方法:
第一个方法:exec 这个方法专门用来捕获匹配组的,它接受一个String类型的参数,返回匹配项的数组,如果没有匹配项则返回null。返回的数组虽然是Array的实例,但它具有额外的两个属性:index和input,其中index表示匹配项在字符串中的位置,而input表示应用正则表达式的字符串。例如:
var text="mom and dad and baby"; var pattern=/mom( and dad( and baby)?)?/; var matches=pattern.exec(text); alert(matches.index);//输出0 alert(matches.input);//输出mom and dad and baby alert(matches[0]);//输出mom and dad and baby alert(matches[1]);//输出and dad and baby alert(matches[2]);//输出and baby
var s2 = "140402001>SPF=3=0,140402002>RQSPF=3=-1,140402003>SPF=1=0,140402004>RQSPF=3=1_3_0.08"; var res = s2.match(/\d{9}/g); //存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
即[140402001,140402002,140402003,140402004]
var re = new RegExp("(\\d{9}).*(\\d{9}).*"); var matches = re.exec(s); if (matches != null) { for (var i=1; i<matches.length; i++) { allItem.push(matches[i]); } }
则只能得到固定的匹配,如果想得到4个分组,必须写4个(\\d{9}) 。
所以有时用String对象的match方法来获取分组更合适。
第二个方法:test(),它接受一个字符串参数。在模式与该参数匹配的情况下返回True,否则返回False。这个方法只关注模式是否与字符串匹配,至于为什么不匹配,就无关紧要了。例如:
var pattern=/\d{3}-\d{2}-\d{3}/; var str="000-00-000"; if(!pattern.test(str)){ alert("The pattern was not matched"); }
相关推荐
JavaScript 正则表达式迷你书 本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向...
《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...
**JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...
javascript正则表达式详解 (chm)
JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。正则表达式可以用来匹配、检索和操作字符串。 RegExp 对象 在 JavaScript 中,正则表达式可以被定义为一个 ...
JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...
JavaScript正则表达式是网页开发中的重要工具,用于处理文本数据的验证、查找、替换等操作。在网页制作过程中,熟练掌握正则表达式能够极大地提高代码效率和灵活性。本压缩包“Javascript正则表达式测试网页.rar”...
了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用
以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...
### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...
下面详细解析了文档中提到的JavaScript正则表达式实战应用的各个方面。 首先,匹配结尾的数字是正则表达式的一个常用功能。在JavaScript中,可以使用正则表达式/\d+$/g来实现。这个表达式可以找到字符串中最后一个...
JavaScript正则表达式工具是一种基于JavaScript开发的应用程序,旨在帮助开发者和编程爱好者更方便地理解和使用正则表达式。在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符...