JavaScript正则表达式三

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript正则表达式三相关的知识,希望对你有一定的参考价值。

正则表达式对象的方法:

test用于测试字符串参数中是否存在匹配正则表达式模式的字符串,如果存在返回true,不存在返回false

exec使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果。

如果没有匹配的文本则返回null,否则返回一个结果数组:

index声明匹配文本的第一个字符的位置。

input存放被检索的字符串string

exec的非全局表达式:

调用非全局的RegExp对象的exec()时,返回数组。

第一个元素是与正则表达式相匹配的文本

第二个元素是与RegExpObject的第一个子表达式相匹配的文本(如果有的话)

第三个元素是与RegExp对象的第二个子表达式相匹配的文本(如果有的话),以此类推

对象属性:

global:是否全文搜索,默认false

ignore case:是否大小写敏感,默认是false

multiline:多行搜索,默认值是false

lastIndex:是当前表达式匹配内容的最后一个字符的下一个位置

source:正则表达式的文本字符串

字符串对象的方法:

search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串方法返回第一个匹配结果index,查找不到返回-1

search()方法不执行全局匹配,它将忽略标志g,并且总是从字符串的开始进行检索

match()方法将检索字符串,以找到一个或多个与regexp匹配的文本

regexp是否具有标志g对结果影响很大

regexp的非全局调用:

如果regexp没有标志g,那么match()方法就只能在字符串中执行一次匹配

如果没有找打匹配的文本,将返回null

否则它将返回一个数组,其中存放了它找到的匹配文本有关的信息

返回数组的第一个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本

除了常规的数组元素之外,将返回的数组还含有2个对象属性:

index声明匹配文本的起始字符在字符串的位置

input声明对stringObject的引用

regexp的全局调用:

如果regexp具有标志g,则match()方法将执行全局检索,找到字符串中的所有匹配的子字符串

没有找到任何匹配的子串,则返回null

如果找到一个或多个匹配子串,则返回一个数组

数组元素中存放的是字符串中所有的匹配子串,而且也没有index属性或input属性

split把字符串分割为字符数组,在一些复杂的情况下可以使用正则表达式解决

function参数的含义:

function会在每次匹配替换的时候调用,有四个参数:

匹配字符串

正则表达式分组内容,没有分组则没有该参数

匹配项在字符串中的index

原字符串

replace的用法:

String.prototype.replace(str,replaceStr)

String.prototype.replace(reg,replaceStr)

String.prototype.replace(reg,function)

以上是关于JavaScript正则表达式三的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript - 正则表达式

JavaScript - 正则表达式举例

JavaScript - 正则表达之二

如果此类字符串在Javascript中包含逗号,则正则表达式获取引号之间的文字字符串的内容

javascript正则表达式对象方法 compile() exec() test()的比较

JavaScript正则表达式