js正则

作者: 何必自找失落_ | 来源:发表于2016-11-05 12:35 被阅读0次

正则表达式中的test 和exec方法

RegExp.prototype.test(str);

测试字符串中是否含有正则表达式模式的字符串

有返回true 没有返回false

var reg1 = /\w/;

var reg2 = /\w/g;

reg1.test("a")

//true

reg1.test("b")

//true

reg2.test("ab")

true

reg2.test("ab")

true

reg2.test("ab")

false

reg2.test("ab")

true

reg2.test("ab")

true

reg2.test("ab")

false

//多执行会出现这样的问题,是因为lastIndex的问题,它的意思是,匹配元素最后位置的下一个位置。lastIndex在全局匹配中才有,非全局为0

RegExp.prototype.exec(str)

已正则的规则对字符串执行搜索,并更新RegExp对象返回匹配结果。

如果匹配到就返回一个结果数组!没有则返回null

var reg1 = /\d(\w)(\w)\d/;

var reg2 =  /\d(\w)(\w)\d/g;

var text = "1az23cd45ef6";

var reg = reg1.exec(text);

//reg 是一个数组 ["1az2", "a", "z", index: 0, input: "1az23cd45ef6"]

第一个元素 是匹配的字符,后边的是分组的值,有几个分组,就会多加几个,index是开始匹配的位置 如果text变成*1az23cd45ef6 index就变成1了,input 的值为 所匹配字符串

接下来看一下全局匹配。

while(reg = reg2.exec(text)){console.log("lastIndex"+reg2.lastIndex+"\"+reg)}

 lastIndex4\1az2,a,z

lastIndex8\3cd4,c,d

 lastIndex12\5ef6,e,f

"1b2c3d".search(/1/);//0;

"1b2c3d".search(/10/);//-0;

//取到为大于-1,取不到为-1

match方法

var reg3 = /\d(\w)\d/;

var reg4 = /\d(\w)\d/g;

var ts = "$1d1$1w2";

var reg = ts.match(reg3);

split

"1d2d3c5d".split(/\d/);

["", "d", "d", "c", "d"]

"1d1c1d1c".replace(/1/,'2');

"2d1c1d1c"

//match 匹配的数据  index 字符位置,orgin 为原字符串

"1d2d3d4d5c".replace(/\d/g,function(match,index,orgin){

return parseInt(match)+1;

})

"1d2d3d4d5c".replace(/(\d)(\w)(\d)/g,function(match,group1,group2,group3,index,orgin){

return group1+group2;

})

"1dd3dd5c"

相关文章

  • 正则初解

    title: js验证常用正则表达式date: 2017-03-03 验证 正则表达式 本文介绍js验证常用的正则...

  • JS正则表达式

    JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 Stinson 关注 20...

  • 正则详解--程序员必备

    转自: JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路 温馨提示:文章很长...

  • 前端学习资源整合(二)

    正则 正则 地址JS正则表达式元字符 http://segmentfault.com/a/119000000247...

  • JS基础

    JS基础 JS运算 JS代码块 JS对象 原型对象 GC 正则表达式

  • js 正则表达式

    js 正则表达式

  • JavaScript基础 JavaScript正则表达式

    JS正则表达式:

  • JS正则表达式

    js正则表达式 https://segmentfault.com/a/1190000002471140 正则表达式...

  • JS正则表达式

    @(javascript)[js正则表达式] [toc] JS正则表达式 正则表达式一直是一个令人头疼但却又是十分...

  • 火星文RegExp

    正则基本不陌生 JS中通过RegExp来创建 正则在JS中非常的成熟 创建 可以使用perl的语法var exp...

网友评论

      本文标题:js正则

      本文链接:https://www.haomeiwen.com/subject/mrawuttx.html