正则的lastIndex 属性】的更多相关文章

简介:正则的lastIndex 属性用于规定下次匹配的起始位置. 注意: 该属性只有设置标志 g 才能使用. 上次匹配的结果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它们都以 lastIndex 属性所指的位置作为下次检索的起始点.这样,就可以通过反复调用这两个方法来遍历一个字符串中的所有匹配文本. 注意:该属性是可读可写的.只要目标字符串的下一次搜索开始,就可以对它进行设置.当方法 exec() 或 test() 再也找不到可以匹配的文本时,它们会自动把 l…
首先大家看下下面的代码 var reg = /\d/; console.log( reg.test("1") ); console.log( reg.test("1") ); 输出都是true. 好的,接下来我们看这段代码 var reg = /\d/g; console.log( reg.test("1") ); console.log( reg.test("1") ); 一个true,一个false,这是什么情况? 正则对…
有这样一段代码: var newDateStr = " 11 13:48:18"; var reg = new RegExp("[0-9]+","g"); var ar = reg.exec(newDateStr); reg.lastIndex; ar.lastIndex; 假如你知道lastIndex是下一个匹配开始的索引,并且g是进行全局的匹配(否则只会匹配第一个符合正则规则的子串). 那么问题就来了,在IE5.0下面,ar.lastInde…
今天在做正则循环匹配,碰到一个怪问题,第一次可以匹配上,但循环第一次之后,就无法匹配上了.猛然想起,RegExp中lastIndex属性,于是上网搜索了一下,将一些资料整理归纳,以备今后自己查阅(记性不好) 借鉴网上一个例子:http://www.dewen.org/q/468 <script type='text/javascript'> var reTest = /^aid=(.*)/ig; var aData = [ 'aid=^$', 'aid=^$', 'aid=^$', 'aid=…
js中正则表达式的使用方式有两种,一种是正则表达式对象的方法,一种是字符串对象的方法,前者有exec(str).test(str)两个方法,后者有match(regexp).replace(regexp).search(regexp).split(search)四个方法.当作为正则表达式对象的方法使用时,要特别注意它的lastIndex属性. var regexp = /abcd/g; var str = 'abcdefg'; alert(regexp.test(str)); //true al…
js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global) 一.总结 1.小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效 var reg2=/(td){2,4}/g //1.小括号作用,分组 2.var reg3=/^\d/gm //2.m多行匹配 var str2='1.第一章\n2.第二章\n3.第三章' //4.换行符 3.alert(…
在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该属性用于指定下次匹配的起始位置. 例如: var pattern1 = new RegExp("1[0-9]{10}", "g"); // 带全局标识 var pattern2 = new RegExp("^1[0-9]{10}$"); // 不带全…
个人不会写正则,但是工作中遇到了又没办法,所以记录下以后再遇到就好找了,呵呵 言归正传,下面是用正则匹配img的属性的方法: 1.匹配 “img” 中的 “src” 属性 $str='<img src="http://aaa.com/images/a.jpg" aid="123456">'; preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $st…
本文主要总结一下python正则的一些内置属性的用法. 1. 编译标志:flags 首先来看一下re.findall函数的函数原型: import re print('[Output]') print help(re.findall) [Output] Help on function findall in module re: findall(pattern, string, flags=0) Return a list of all non-overlapping matches in th…
看了掘金的一个作者写的JS正则表达式完整教程 受益匪浅,感谢作者的无私奉献.在此,做下笔记. 目录 0. 目录 1. 正则表达式字符匹配 1.1.字符组 1.2.量词 1.3.多选分支 1.4.案例分析 2. 正则表达式位置匹配 2.1.什么是位置呢? 2.2.如何匹配位置呢? 2.3.位置的特性 2.4.案例分析 3. 正则表达式括号的作用 3.1.提取数据 3.2.替换 3.3.反向引用 3.4.非捕获分组 3.5.相关案例 4. 操作符优先级 5. 元字符转义 6. search,spli…