www.baike369.com
百科369 > JS教程 > JavaScript正则表达式

JavaScript正则表达式



JavaScript正则表达式

JavaScript正则表达式及其作用

正则表达式的英文是regular expression,意思是符合某种规则的表达式,可以将其理解为一种对文字进行模糊匹配的语言。

JavaScript元字符“?”与“()”

元字符是一些具有特殊意义的专用字符,可以用于各种匹配关系。

JavaScript正则表达式简介

正则表达式是一种定义模式字符串的方法,我们可以拆分、查找或替换字符串中与模式字符串相匹配的子串。

JavaScript简单的正则表达式

下面是一个简单的例子,在该例子中我们使用replace()方法实现一个简单的文本替换。

JavaScript正则表达式的特殊元字符:文本、数字和标点符号元字符

正则表达式的特殊元字符是包含字符类(character class)的元字符。

JavaScript正则表达式的特殊元字符:重复字符

正则表达式包含一些被称为重复字符的元字符,用于表示位于重复字符之前的项或字符需要重复匹配的次数。

JavaScript正则表达式的特殊元字符:位置元字符

位置元字符用于设置正则表达式是匹配字符串开始位置的子串,还是匹配结束位置的子串,同样也可以是匹配模式字符的分界线位置。

JavaScript正则表达式需要考虑所有的可能性

正则表达式最需要小心的问题就是确保正则表达式包含了所有可能的情况。

JavaScript正则表达式的分组

对正则表达式进行分组实际上非常简单。

JavaScript正则表达式引用分组

对于分组所定义的子模式,可以在其后的正则表达式中加以引用。

JavaScript在split()方法中使用正则表达式拆分字符串

split()方法可以根据指定的分隔符拆分字符串,该分隔符就是传递给split()方法的参数。

JavaScript在replace()方法中使用正则表达式替换为指定字符串

replace()方法的独特之处在于它可以把与正则表达式分组相匹配的子串替换为指定字符串。

JavaScript在search()方法中使用正则表达式查找字符串

search()方法可以根据模式字符串进行查找。

JavaScript在match()方法中使用正则表达式拆分HTML代码

在match()方法中,使用正则表达式可以把一个表示HTML代码的字符串拆分为HTML标记和标记间的内容所组成的数组。

JavaScript在match()方法中使用正则表达式返回数组元素及字符串

match()方法与search()方法非常类似。


JavaScript RegExp对象

JavaScript使用RegExp对象的构造函数

在JavaScript中使用RegExp对象声明正则表达式,可以分为两种方法。

JavaScript RegExp对象

JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。

JavaScript转义字符中的反斜杠(\)

由于JavaScript字符串中的“\”是一个转义字符,因此,使用显式构造函数创建RegExp实例对象时,应将原始正则表达式中的“\”用“\\”替换。


JavaScript RegExp对象的属性

JavaScript RegExp对象的属性

RegExp对象的属性分为:静态属性 实例属性静态属性 index属性:是当前表达式模式首次匹配内容的开始位置,从0开始计数。


JavaScript RegExp对象的方法

JavaScript RegExp对象test()方法

RegExp对象的test()方法用以检测所传入的参数字符串是否存在与RegExp对象中所定义的正则表达式相匹配的子串。

JavaScript RegExp对象exec()方法

RegExp对象的exec()方法使用创建RegExp对象实例时所指定的表达式模式对一个字符串进行搜索,并返回一个包含搜索结果的数组。

JavaScript RegExp对象compile()方法

RegExp对象的compile()方法可以更换RegExp对象实例所使用的表达式模式,并将新的表达式模式编译为内部格式,从而使以后的匹配过程执行更快。

JavaScript RegExp对象的综合应用

希望认真分析下面的源代码及其运行结果,这样可以更好地理解RegExp对象。


JavaScript字符串(String)对象中的相关方法

字符串(String)对象中有一些方法要用到RegExp对象实例作为参数。

JavaScript match()方法与正则表达式的应用

字符串对象match()方法的语法格式为match(regExp)。

JavaScript search()方法与正则表达式的应用

字符串对象search()方法的语法格式为search(regExp)。

JavaScript replace()方法与正则表达式的应用

字符串对象replace()方法的语法格式为replace(rgExp,replaceText)。

JavaScript split()方法与正则表达式的应用

字符串对象的split()方法的语法格式如下:该方法返回按照某种分割标志符将一个字符串拆分为若干个子字符串时所产生的子字符串数组。


JavaScript限定符与选择匹配符

要灵活运用正则表达式,必须了解其中各种元字符的功能,正则表达式的语法主要就是对各个元字符功能的描述。元字符从功能上大致分为:限定符、选择匹配符、分组组合、反向引用符、特殊字符、字符匹配符和定位符。

JavaScript在正则表达式中使用限定符指定连续出现的次数

用{n}限定连续出现的次数规定前面的元素或组合项连续出现n次。

JavaScript正则表达式中的贪婪匹配与非贪婪匹配

默认情况下,正则表达式使用最长(也叫“贪婪”)的匹配原则。

JavaScript正则表达式中使用选择匹配符进行匹配选择

选择匹配符只有一个,就是“|”字符,用于选择匹配两个选项之中的任意一个,其两个选项是“|”字符两边尽可能最大的表达式。


JavaScript分组组合与反向引用符

JavaScript正则表达式中的分组组合符

分组组合符是将表达式中某部分内容组合起来的符号。

JavaScript正则表达式中的反向引用符

反向引用符是用于匹配分组组合捕获到的内容的标识符。

JavaScript正则表达式中的非捕获匹配

(?:pattern)将pattern部分组合成一个可统一操作的组合项。

JavaScript正则表达式中的正向“预测先行”匹配

(?=pattern)称为正向“预测先行”匹配。

JavaScript正则表达式中的反向“预测先行”匹配

(?!pattern)称为反向“预测先行”匹配,在被搜索字符串的相应位置不能有pattern部分匹配的内容,此外,其功能与正向“预测先行”匹配一样。


JavaScript特殊字符与字符匹配符

正则表达式中使用多种方式来表示非打印字符和原义字符,这些方式都以字符“\”后跟其它转义字符序列来表示,其中的一些方式也可以表示普通字符。字符匹配符用于指定可以匹配多个字符中的任意一个。

JavaScript正则表达式中的特殊字符

\xn匹配ASCII码值等于n的字符。

JavaScript正则表达式中的字符匹配符

[...]匹配方括号中包含的字符集中的任意一个字符。

JavaScript正则表达式中字符匹配符的使用方法

字符匹配符包括[...]、[^...]、[a-z]以及[^a-z]等。

JavaScript正则表达式中字符匹配符圆点(.)元字符的使用方法

“(.)\1”匹配除“\n”之外的两个连续的相同字符。


JavaScript定位符与原义字符

在验证时,要用到一些定位符,来限定字符出现的位置,以方便匹配。同时,对于表达式中的元字符,必须进行转义,使其变成原义字符才能正常显示。

JavaScript用于文本验证的定位符

定位符用于规定匹配模式在目标字符串中的出现位置。

JavaScript正则表达式中用^匹配目标字符串的开始位置

匹配必须发生在目标字符串的开头处,^必须出现在表达式的最前面才具有定位符的使用。

JavaScript正则表达式中用$匹配目标字符串的结尾位置

匹配必须发生在目标字符串的结尾处,$必须出现在表达式的最后面才具有定位符的使用。

JavaScript正则表达式中用\b匹配一个字边界

\b包含了字与空格间的位置,以及目标字符串的开始和结束位置等。

JavaScript将特殊字符转义为原义字符

在正则表达式中用到的一些元字符不再表示原来的字面意义,如果要匹配这些有特殊意义的元字符,必须使用“\”将这些字符转义为原义字符。

Copyright© 2011-2016 www.baike369.com All Rights Reserved