RegExp对象实现,书写规则: var xxx=new RegExp("匹配字符串"[,"附加条件"]);
字面量实现: var xxx=/匹配字符串/[附加条件]
上面附加条件可以省略,附加条件有如下3个:
i:忽略大小写
g:全文查找
m:多行查找
test()方法:
用法:regexp对象实例.test(字符串)
返回值:如果满足regexp对象实例中定的正则规则,返回true,否则返回false
exec()方法:
用法:regexp对象实例.exec(字符串)
返回值:如果 exec 方法没有找到匹配,则它返回 null。如果它找到匹配,则 exec 方法返回一个数组,并且更新全局 RegExp 对象的属性,以反映匹配结果。数组的0元素包含了完整的匹配,而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match 方法。
如果为正则表达式设置了全局标志,exec 从以 lastIndex 的值指示的位置开始查找。如果没有设置全局标志,exec 忽略 lastIndex 的值,从字符串的起始位置开始搜索。
这里需要备注下:上面返回值这段话关于返回数组让我迷惑了好久,因为试验下来返回的都是一个长度的数组,也就是只有一个元素.查了网上很多资料都没有相关的介绍.翻开上次买的"javascript 高级程序设计"一书,在P168有介绍(所谓反向引用,以后介绍)
另外,关于"更新全局 RegExp 对象的属性"我是这样理解的:更新RegExp对象的index和lastIndex属性,在设置了全文匹配参数后可以试验,每次匹配从上一个lastIndex开始搜索.
正则表达式"^\\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\\d+$" //整数
"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
//正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
//负浮点数
"^(-?\\d+)(\\.\\d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
"^[A-Za-z0-9_]*$"
基本语法
在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。 正则表达式的形式一般如下:
/love/ 其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。 较为常用的元字符包括: “+”, “*
”,以及 “?”。
“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。
“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。
“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次
分享到:
相关推荐
java/Android 正则表达式详解 Java 正则表达式详解是一份详细的正则表达式使用指南,它涵盖了正则表达式的基础知识、语法、实践应用等方面的内容。本文首先简要地介绍了正则表达式的基础知识,然后以 Jakarta-ORO ...
### Oracle正则表达式详解(用法+实例) #### 一、正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的工具。它由一个或多个字符及特殊的字符元组成,能够帮助我们执行复杂的字符串搜索和替换任务。在...
### Java正则表达式详解 #### 一、正则表达式基础知识 正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于文本的查找与替换、验证等场景。Java作为一种主流的编程语言,同样支持正则表达式的...
### 正则表达式详解 #### 一、正则表达式概述 正则表达式是一种强大的文本模式匹配工具,广泛应用于编程语言如Java中,用于处理字符串数据,实现字符串的搜索、替换、提取等操作。它能够精确描述复杂的文本规则,...
### Java正则表达式详解:掌握文本匹配的艺术 正则表达式,又称正则规则或正则模式,是一种用于描述字符串结构的语法,被广泛应用于各种编程语言中,包括Java,用于文本处理、数据验证、搜索与替换等场景。本文将...
VBScript 正则表达式详解 VBScript 中的正则表达式详解是指使用 RegExp 对象来提供简单的正则表达式支持。该对象有三个属性和三个方法,分别是 Global 属性、IgnoreCase 属性、Pattern 属性、Execute 方法、Replace...
在C语言中,由于标准库并不直接支持正则表达式,程序员需要借助第三方库来实现这一功能。Perl-Compatible Regular Expression(PCRE)库是一个广泛使用的选项,它为C和C++程序员提供了处理正则表达式的能力。在C语言...
正则表达式 详解 基础 正则表达式之道(A Tao of Regular Expressions)
### js正则表达式详解 #### 一、正则表达式基础知识 正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于文本的查找与替换、验证等场景。JavaScript同样支持正则表达式的使用,并且具有非常...
JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。正则表达式可以用来匹配、检索和操作字符串。 RegExp 对象 在 JavaScript 中,正则表达式可以被定义为一个 ...
### C#中的正则表达式详解 #### 一、正则表达式简介 正则表达式(Regular Expression),简称regex或regexp,是一种用于处理文本的强大工具。它提供了一种灵活而高效的方式来查找、提取、替换或者删除文本中的特定...
### Java正则表达式详解 #### 一、正则表达式的重要性及应用 正则表达式,作为一种强大的文本处理工具,对于程序员而言是不可或缺的基本技能之一。它在文本的匹配、搜索和替换等方面发挥着不可替代的作用。尤其在...
在这个“正则表达式详解大全珍藏版”中,我们将深入探讨如何使用正则表达式来校验各种常见格式的数据,如登录名、用户姓名、电话号码和手机号码。 首先,让我们从基础开始。正则表达式由一系列字符和特殊符号组成,...
本文件"java正则表达式详解(PDF)"深入探讨了这一主题,下面将对其中的主要知识点进行详细介绍。 1. **正则表达式基本概念** - **模式匹配**:正则表达式是一种模式,用于匹配字符串中的特定序列。 - **元字符**...
Java正则表达式详解 Java中的正则表达式是一个强大的文本处理工具,它允许程序员进行复杂的字符串匹配、查找、替换和分割操作。在Java中,正则表达式是通过`java.util.regex`包来实现的,这个包提供了一系列类,如`...
boost正则表达式教程 boost正则表达式详解