手机版

JavaScript正则表达式下的相关方法

时间:2021-10-29 来源:互联网 编辑:宝哥软件园 浏览:

上一篇文章介绍了JavaScript正则表达式的基本语法,并介绍了JavaScript正则表达式的语法。有了这些基础知识,我们可以看看正则表达式在JavaScript中的应用。在一切开始之前,我们可以看一下RegExp实例的几个属性。

RegExp实例对象有五个属性。

1 .全局:是否全局搜索,默认为false。

2.ignoreCase:不管是否区分大小写,默认值都是false。

3 .多行:多行搜索,默认值为false。

4.lastIndex:第一次是当前表达式模式匹配内容中最后一个字符的下一个位置。每次正则表达式匹配成功,lastIndex的属性值都会相应改变。

5 .来源:正则表达式的文本字符串。

除了将正则表达式编译成内部格式以加快执行速度的compile()方法之外,还有两种常见的对象方法。

regObj.test(strObj)

方法用于测试字符串参数中是否存在正则表达式模式,如果存在,则返回true,否则返回false。

复制代码如下:

var reg=/\d \。\d{1,2 } $/g;reg . test(' 123.45 ');//true reg . test(' 0.2 ');//true reg . test(' a . 34 ');//false reg . test(' 34.5678 ');//false

regObj.exec(strObj)

方法用于正则表达式模式,在字符串中运行搜索,如果exec()找到匹配的文本,它将返回一个结果数组。否则,返回null。除了数组元素和长度属性之外,exec()方法还返回两个属性。index属性声明匹配文本的第一个字符的位置。属性输入存储检索到的字符串。

调用非全局RegExp对象的exec()时,返回数组的第0个元素是匹配正则表达式的文本,第1个元素是匹配RegExp object第1个子表达式的文本(如果有),第2个元素是匹配RegExp对象第2个子表达式的文本(如果有),以此类推。

当调用全局正则表达式对象的exec()时,它开始检索正则表达式实例的lastIndex属性指定的字符处的字符串。当exec()找到与表达式匹配的文本时,匹配后,它会将RegExp实例的lastIndex属性设置为匹配文本最后一个字符的下一个位置。通过重复调用exec()方法,可以遍历字符串中所有匹配的文本。当exec()无法再找到匹配的文本时,它将返回null并将lastIndex属性重置为0。

复制代码如下:

var reg=/\ d/g;var r=reg . exec(' a1b2c 3 ');console . log(reg . LastIndex);//2r=reg . exec(' a1b2c 3 ');console . log(reg . LastIndex);//4

两次执行r的结果。

复制代码如下:

var reg=/\ d/g;while(r=reg . exec(' a1b2c 3 '){ console . log(r . index ' : ' r[0]);}

可以看到结果:复制代码如下:1:1:2533333。

除了以上两种方法之外,一些字符串函数还可以传入RegExp对象作为参数,并执行一些复杂的操作。

strObj.search(RegObj)

search()方法用于检索字符串中的指定子字符串或与正则表达式匹配的子字符串。search()方法不执行全局匹配,它忽略标志g .它还忽略regexp的lastIndex属性,并且总是从字符串的开头进行检索,这意味着它总是返回stringObject的第一个匹配位置。

复制代码如下:

a1b2c 3’。搜索(/\ d/g);//1'a1b2c3 '。搜索(/\ d/);//1

strObj.match(RegObj)

match()方法检索字符串stringObject来查找一个或多个匹配正则表达式的文本。但是,regexp是否有flag g对结果影响很大。

根据这个参数,replace可以实现很多强大的功能,尤其是在复杂的字符串替换语句中。

strObj.split(regObj)

我们经常使用split方法将字符串分成字符数组。

复制的代码如下:'a,b,c,d '。split(',');//['a ',' b ',' c ',' d '

类似于替换方法,我们可以在一些复杂的分割情况下使用正则表达式。

复制代码如下:'a1b2c3d '。拆分(/\ d/);//['a ',' b ',' c ',' d '

所以你可以用数字除弦,是不是很厉害?看完这两个博客,基本上可以对JavaScript正则表达式感到很舒服。要求在前端将div中英文段落单词的首字母改为大写。你知道该怎么做吗?

版权声明:JavaScript正则表达式下的相关方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。