`
scomouse
  • 浏览: 14820 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

RegExp对象

 
阅读更多


用正则虽多

但是对这个对象并不是很了解,所以做点笔记 记的是一些我不熟悉的东西 嘿嘿.............

例化RegExp对象

1.直接写

    var reg = /\d+/g

2.new RegExp

    new RegExp("\\d+","g")

(1) i,g,m放在第2个参数上

(2) 斜杠要转义 所以是\\

第一种用法很常见了 我也喜欢直接这么用(主要是因为那些字符要转义 我不是很清楚)

第2中在某种字符串不确定的时候还是很有用的 比如一下的例子

	var str = '<div class="your sister" id="myid" name="myname" sister="yousister"></div>';
	function getAttr(attr,str){
		var reg = new RegExp(attr+"\\s*=\\s*(['\"]?)(.*?)\\1");
		return reg.exec(str)[2];
	}
	getAttr("id",str);
	getAttr("class",str);
	getAttr("name",str);
	getAttr("sister",str);


RegExp实例属性

global 布尔值,表示是否标识了g.

ignoreCase 布尔值,表示是否标识了i.

multiline 布尔值,表示是否标识了m.

source 字符串,表示创建RegExp对象实例时指定的表达式文本字符串.

lastIndex整数,表示开始搜索下一个匹配项的字符位置,从0开始算 (ps只是设置了g,然后执行exec或者test才会从下一个开始算, 不然一直从0开始算)

例子

	var reg = /ab\d+/g;
	alert(reg.global);           //true
	alert(reg.ignoreCase);       //false
	alert(reg.multiline);        //false
	alert(reg.source);           //ab\d+


lastIndex的例子

	var reg = /\d+/;
	var str = "123asd456vbn789";
	alert(reg.exec(str));    //123
	alert(reg.lastIndex);    //0
	alert(reg.exec(str));    //123
	alert(reg.lastIndex);    //0
	alert(reg.exec(str));    //123  
	alert(reg.lastIndex);    //0

	var reg1 = /\d+/g;       //设置了g
	alert(reg1.lastIndex);   //0
	alert(reg1.exec(str));   //123
	alert(reg1.lastIndex);   //3 
	alert(reg1.exec(str));   //456
	alert(reg1.lastIndex);   //9
	alert(reg1.exec(str));   //789
	alert(reg1.lastIndex);   //15


RegExp构造函数属性

Input 最近一次zuij匹配的字符串

lastMatch 最近一次的匹配项

lastParen 最近一次的匹配捕获组

leftContext input中lastMath之前的文本 (是lastMatch 不是lastParen)

rightContext input中lastMath之后的文本

$1-9 表示这次匹配的捕获组 依次RegExp.$1,RegExp.$2,RegExp.$3,RegExp.$4,

	var reg = /<div id="(.*?)" name="(.*?)" class="(.*?)"/,
		str = '<div id="myid" name="myname" class="myclass" action="your sister">';
	reg.exec(str);	
	alert(RegExp.$1);    //myid
	alert(RegExp.$2);    //myname
	alert(RegExp.$3);    //myclass
	alert(RegExp.lastMatch);   //<div id="myid" name="myname" class="myclass"
	alert(RegExp.lastParen);   //myclass
	
	var reg1 = /\d+/g,
		str1 = '12nm34sdf56oiu78sx';
	reg1.exec(str1);
	alert(RegExp.leftContext);   //空的  因为12左边没有东西
	alert(RegExp.rightContext);  //nm34sdf56oiu78sx
	reg1.exec(str1);
	alert(RegExp.leftContext);   //12nm
	alert(RegExp.rightContext);  //sdf56oiu78sx
	//继续执行 同理了

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    注意 JavaScript 中 RegExp 对象的 test 方法

    JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false. 今天我碰到了一个问题: [Ctrl+A 全选 注:如需引入外部...

    详解JavaScript正则表达式之RegExp对象

    一、RegExp对象概述  RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式匹配的强大工具。RegExp对象用于规定在文本中检索的内容。当您检索某个文本时,可以使用一种模式来描述要检索的...

    详解JavaScript RegExp对象

    RegExp对象是原生JavaScript中表示正则表达式的对象。 创建对象的方法为:var RegExp = new RegExp(pattern, attributes); 参数pattern指定正则表达式的规则或者表示正则表达式模式的字符串; 参数attributes为可选...

    浅谈JS正则表达式的RegExp对象和括号的使用

    RegExp对象的创建: 常规的正则表达式的创建可用直接量,即斜杠 “/” 括起来的字符。但在要求参数变化的环境下,RegExp()构造函数是更好的选择: var reg1 = /’\w+’/g; var reg2 = new RegExp(‘\’\\w+\”,’g’...

    JavaScript RegExp 对象参考手册.mht

    介绍正则表达式的对象 和经常使用的方法 该文件是个网页副本 如果联网会获得更多使用的信息

    JavaScript-RegExp对象只能使用一次问题解决方法

    以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个RegExp对象执行了一次后,又执行了一次。 var DateStr = "2014-9-8"; var rYMD = new RegExp("(\\d{4}|\\d{2})-(\\d{2}|\\d{1})-(\\d{2}|\\d{1})...

    JS正则中的RegExp对象对象

    有两种方式可以创建RegExp对象的实例。 使用RegExp的显式构造函数,语法为:new RegExp(“pattern”[,”flags”])。 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。 pattern部分为要使用的正则...

    javascript RegExp对象(正则表达式)

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

    compare-regexes:比较两个 RegExp 对象是否相等

    比较两个 RegExp 对象是否相等 应用程序接口 var isRegexEqual = require('compare-regexes') isRegexEqual( RegExp Object , RegExp Object ) 用法 var isRegexEqual = require ( 'compare-regexes' ) ; var ...

    is-regexp:检查给定的值是一个 RegExp 对象

    检查给定的值是一个RegExp 对象 应用程序接口 var isRegExp = require('is.regexp') isRegExp(正则表达式对象) 用法 var isRegExp = require ( 'is.regexp' ) ; var obj1 = / 2 [ 0-4 ] [ 0-9 ] / var obj2 = { }...

    RegExp对象的方法和属性

    RegExp对先看整个字符串是不是匹配,如果没有发现匹配,先去掉最后字符串中的最后一个字符,并再次尝试,如果还没有发现匹配,那么再次去掉最后一个字符,这个过程会一直重复下去直到发现匹配或不剩任何字符串,上面...

    JavaScript RegExp 对象用法详解

    RegExp 就是这种模式。 简单的模式可以是一个单独的字符。 更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。 您可以规定字符串中的检索位置,以及要检索的字符类型,等等。 1.基本用法 [removed...

    RegExp 随笔 JavaScript RegExp 对象

    主要介绍了RegExp 随笔 JavaScript RegExp 对象,需要的朋友可以参考下

    JavaScript 核心参考教程 RegExp对象

    JavaScript 核心参考教程RegExp对象,学习正则表达式的朋友可以参考下。

    js正则表达式之input属性($_)RegExp对象属性介绍

    该属性为RegExp的静态只读属性,该属性的值为与RegExp对象所描述的正则表达式进行匹配检测的字符串,该属性也可以表示成$_

Global site tag (gtag.js) - Google Analytics