精华内容
下载资源
问答
  • 创建RegExp对象的两种方法与不同之处
    千次阅读
    2019-06-30 14:15:56

    通过直接量创建RegExp对象

    JavaScript中的正则表达式用RegExp对象表示,可以使用RegExp()构造函数来创建RegExp对象,不过RegExp对象更多的是通过一种特殊的直接量语法来创建。就像通过引号包裹字符的方式来定义字符串直接量一样,正则表达式直接量定义为包含在一对斜杠(/)之间的字符,例如:

    // 通过直接量创建RegExp对象
    var demo = /s$/;
    

    运行这段代码创建一个新的RegExp对象,并将它赋值给变量demo。
    这个特殊的RegExp对象用来匹配所有以字母"s"结尾的字符串。
    我们更多的会使用直接量创建RegExp对象。

    通过构造函数RegExp()

    用构造函数RegExp()也可以定义个与个之间等价的正则表达式,例如:

    // 通过构造函数创建RegExp对象
    var demo = new 
    更多相关内容
  • 创建RegExp对象

    2017-01-27 11:00:51
    每一条正则表达式模式对应一个RegExp实例,两种方式可以创建RegExp对象的实例。下面分别对这两种方式进行介绍。 1 使用RegExp的显式构造函数。 语法: new RegExp("pattern"[,"flags"]) //...

    一 RegExp对象介绍

    每一条正则表达式模式对应一个RegExp实例,有两种方式可以创建RegExp对象的实例。下面分别对这两种方式进行介绍。
    1 使用RegExp的显式构造函数。
    语法:
    new RegExp("pattern"[,"flags"]) //即 new RegExp(" 模式 "[," 标记 "])
    2 使用RegExp的隐式构造函数,采用纯文本格式。
    语法:
    /pattern/[flags]
     
    pattern部分为要使用的正则表达式模式文本,是必须的。
    在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;
    在第二种方式中,pattern部分嵌套在两个“/”之间,不能使用引号。
    flags部分设置正则表达式的标志信息,是可选项。
    如果设置flags部分,在第一种方式中,以字符串的形式存在;在第二种方式中,以文本的形式紧接在最后一个“/”字符之后。
    flags可以是以下标志字符的组合。
    • g是全局标志。
    如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。
    如果不设置这个标志,则仅搜索和替换最早匹配的内容。
    • i是忽略大小写标志。
    如果设置了这个标志,进行匹配比较时,将忽略大小写。
    • m是多行标志。
    如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与被搜索字符串的结束位置相匹配。
    如果设置了这个标志,“^”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。
    注意:文本格式中的参数不要使用引号标记,而构造器函数的参数则要使用引号标记。所以下面的表达式建立同样的正则表达式:
    /ab+c/i
    new RegExp("ab+c","i")
    当使用构造函数的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符\)是必须的。例如,下面的两条语句是等价的:
    re = new RegExp("\\w +")
    re = /\w+/
     
    二 代码
    <html>
    <head>
    <title>创建正则表达式 </title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language = "JavaScript">
    var myString="如何创建正则表达式";
    var myregex = new RegExp("创建");  // 创建正则表达式
    if (myregex.test(myString))
    {
    	document.write("已创建正则表达式,并找到了指定的模式!");
    }
    else
    {
     	document.write("已创建正则表达式,但未找到匹配的模式。");
    }
    document.write("<BR>")
    <script language="javascript">
     var re1 = new RegExp("\\d{2}");
     var re2 = /\d{2}/;
     alert("re1="+re1+"\nre2="+re2);
    </script>
    </script>
    </head>
    <body></body>
    </html>
     
    三 运行结果
    已创建正则表达式,并找到了指定的模式!
    re1=/\d{2}/ re2=/\d{2}/ 
     
    四 运行说明
    由于JavaScript字符串中的“\”是一个转义字符,因此,使用显式构造函数创建RegExp实例对象时,应将原始正则表达式中的“\”用“\\”替换。
    由于正则表达式模式文本中的转义字符也是“\”,如果正则表达式中要匹配原义字符“\”,在正则表达式模式文本中要以“\\”来表示,当使用显式构造函数的方式创建RegExp实例对象的时候,就需要使用“\\\\”来表示原义字符“\”。例如:
    var re = new RegExp("\\\\")
    展开全文
  • 这个是小编从我们学校的学习平台copy过来的,希望对大家有所帮助!...RegExp对象方法 RegExp 对象 3 个方法:test()、exec() 以及 compile()。 test() 方法检索字符串中的指定值。返回值是 true 或 false。 ...

    这个是小编从我们学校的学习平台copy过来的,希望对大家有所帮助!(制作不易,记得点个赞再走哦!)

    但是代码还是小编自己碼上去的哦!不懂getElementsByTagName() 方法小编另外发一个博客给大家,在左侧大家可以打开直接开

    RegExp对象的方法

    RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

    test() 方法检索字符串中的指定值。返回值是 true 或 false。

                                                 

    image.png

     

    exec()

    exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

    image.png

     

    compile()

    compile() 方法用于改变 RegExp。

    compile() 既可以改变检索模式,也可以添加或删除第二个参数。

    image.png

    代码如下:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>正则方法</title>
    		<script>
    			var patt1 = new RegExp("e");
    			document.write(patt1.test("The best things in life are free")+"<br />");
    			var patt2 = new RegExp("e");
    			document.write(patt2.exec("The best things in life are free")+"<br />");
    			patt1.compile("d");
    			document.write(patt1.test("The best things in life are free")+"<br />");
    		</script>
    	</head>
    	<body>
    	</body>
    </html>

    运行结果如图:

    下面是正则表达式模式:

    方括号用于查找某个范围内的字符:

    image.png

     

    元字符是拥有特殊含义的字符:

    blob.png

     

    量词:

    blob.png

    正则表达式里还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字等。

    下面来看看更多的例子:

    \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。

    \d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。

    \b\w{6}\b 匹配刚好6个字符的单词。

     

    image.png

     

     

    如果不使用^和$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而不是整个字符串就是5到12位数字。

    元字符^和$都匹配一个位置。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。

    这里的{5,12}和{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不能少于5次,不能多于12次,否则都不匹配。

    因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。

    看过了前面的,{2},{5,12}匹配重复的方式了。下面是正则表达式中所有的限定符(指定数量的代码,例如*,{6,10}等):

     

    image.png

     

    下面是一些使用重复的例子:

    Windows\d+匹配Windows后面跟1个或更多数字

    ^\w+匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)

    当正则表达式中包含能接受重复的限定符时,通常的行为是在使整个表达式能得到匹配的前提下匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

    有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。现在看看懒惰版的例子吧:

    a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。

    为什么第一个匹配是aab(第一到第三个字符)而不是ab(第二到第三个字符)?简单地说,因为正则表达式有另一条规则,比懒惰/贪婪规则的优先级更高:最先开始的匹配拥有最高的优先权——The match that begins earliest wins。

     

    image.png

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 以下的代码,是测试从字符串中识别出年月日,可以看到创建的rYMD这个RegExp对象执行了一次后,又执行了一次。 var DateStr = "2014-9-8"; var rYMD = new RegExp("(\\d{4}|\\d{2})-(\\d{2}|\\d{1})-(\\d{2}|\\d{1})...
  • 首先我们需要知道regexp对象是用于规定在文本中检索的内容,而Regexp是正则表达式的缩写,当你需要检索某个文本时,可以使用一种模式来描述你要检索的内容,而regexp就是这种模式简单的模式可以是一个单独的字符,更...
    开发工具与关键技术:vs regex对象的方法
    作者:黄海峰
    撰写时间:2019.04.16
    

    首先我们需要知道regexp对象是用于规定在文本中检索的内容,而Regexp是正则表达式的缩写,当你需要检索某个文本时,可以使用一种模式来描述你要检索的内容,而regexp就是这种模式简单的模式可以是一个单独的字符,更复杂的模式包括的更多的字符串以及某些正则表达式的组合,并可用于解析、格式检查、替换等你可以规定字符串中的检索位置,以及要检索的字符串。Regexp对象的定义是用于存储检索,通过new关键词来定义regexp对象。我们先声明一个regexp对象:
    在这里插入图片描述
    上面到的regexp对象是用来检索字符串中的字符“e”;而在javascript中regexp对象有三种方法,分别是test()、exec()以及compile()等。
    Test()方法是用来检索字符中的指定值,如果有这个值就返回一个true,没有则返回false。下面我们声明一个字符串对象,然后用test()方法来测试下效果
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在我们声明的字符串对象中存在字符“e”,所以会直接反回一个true。这个方法一般多是对某些文本进行验证。
    Exec()方法是检索字符串中的指定值,返回的值是被找到的值,如果没有找到匹配项,就会返回一个null。我们上面分别声明了一个regexp对象和字符串对象,如果使用exec()方法就会返回一个“e”。
    在这里插入图片描述在这里插入图片描述
    Compile()方法可以直接改变regexp对象。怎么改变呢?上面的regexp对象是检索字符串中的字符“e”,而使用compile()方法后就会使得这个regexp对象从检索字符串中的字符“e”变成检索字符串中的其他字符,我们把str对象的第一个参数改成字符“d”,看看会怎么样:
    在这里插入图片描述
    在这里插入图片描述
    从图片中可以看到compile()方法改变了regexp对象,然后我们再用test()方法检索字符串对象zfc时,由于上面的字符串对象中不存在字符“d”,所以他会返回一个false。
    注:以上内容有借鉴W3School整站-2014年12月离线完整版。

    展开全文
  • 创建RegExp对象.pdf

    2021-08-26 16:52:02
    创建RegExp对象.pdf
  • RegExp对象是原生JavaScript中表示正则表达式的对象。 创建对象的方法为:var RegExp = new RegExp(pattern, attributes); 参数pattern指定正则表达式的规则或者表示正则表达式模式的字符串; 参数attributes为可选...
  • JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。两种方式可以创建RegExp对象的实例。
  • 第一种方式,用RegExp对象创建:var Mail = new RegExp("^(?:[a-z/d]+[_/-/+/.]?)*[a-z/d]+@(?:([a-z/d]+/-?)*[a-z/d]+/.)+([a-z]{2,})+$","i");第二种,直接创建:var reMail = /^(?:[a-z/d]+[_/-/+/.]?)*[a-z/d]...
  • RegExp 的构造函数创建了一个正则表达式对象,用模式来匹配文本。 有关正则表达式介绍,请阅读JavaScript指南中的正则表达式章节。 语法 文字和构造符号是可能的: /pattern/flags new RegExp(pattern [, flags]) ...
  • 两种方式可以创建RegExp对象的实例。 使用RegExp的显式构造函数,语法为:new RegExp(“pattern”[,”flags”])。 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。 pattern部分为要使用的正则...
  • 一、RegExp对象概述  RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式匹配的强大工具。RegExp对象用于规定在文本中检索的内容。... (1)使用字面量创建RegExp对象的语法:  /patter
  • 直接量语法 /pattern/attributes 创建 RegExp 对象的语法: 代码如下:var obj=new RegExp(pattern,attributes); 事例1: 代码如下: var pattern=/a/; [removed](pattern.exec(“asdas”)); 事例2: 代码如下...
  • RegExp 就是这种模式。 简单的模式可以是一个单独的字符。 更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。 您可以规定字符串中的检索位置,以及要检索的字符类型,等等。 1.基本用法 [removed...
  • RegExp 对象(一)

    2012-06-14 14:53:10
    创建 RegExp 对象的语法: new RegExp(pattern, attributes); 参数 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。 参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和
  • RegExp对象创建: 常规的正则表达式的创建可用直接量,即斜杠 “/” 括起来的字符。但在要求参数变化的环境下,RegExp()构造函数是更好的选择: var reg1 = /’\w+’/g; var reg2 = new RegExp(‘\’\\w+\”,’g’...
  • Js中RegExp对象

    2020-09-02 18:39:01
    创建一个RegExp对象通常两种方式,一种是通过字面量创建,一种是通过RegExp对象构造函数创建。 // var regex = /pattern/modifiers; var regex = /^[0-9]+$/g; // var regex = new RegExp("pattern", "modifiers...
  • RegExp对象(至今为止我看到过的最通俗易懂和深入的正则表达式教程)JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp...两种方式可以创建RegExp对象的实例。
  • javascript的常用对象有哪些

    千次阅读 2019-03-14 00:15:28
    Windows对象即浏览器窗口对象,是所有对象的顶级对象,其使用频繁,在JavaScript中调用其方法和属性时可以省略名称。 Window 对象属性 属性 描述 closed 返回窗口是否已被关闭。 defaultStatus 设置或返回...
  • 创建正则表达式对象方法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM编程-关于正则表达式</title> </head> <body> <script ...
  • 功能说明:该属性为RegExp的静态只读属性,该属性的值为与RegExp对象所描述的正则表达式进行匹配检测的字符串,该属性也可以表示成$_ 代码如下: <html> [removed] //objStr 为待匹配的内容 var objStr=’...
  • 对象是需求场景中的名词(如人、事、物)在程序中的表示 JavaScript中,除了string、number、Boolean、null、undefined之外,其他的数据都是对象,如数组、日期甚至函数等;...对象的成员分为两种:属性和方法 ...
  • js对象有哪些呢?

    千次阅读 2019-08-18 19:57:44
    布尔对象的属性 : constructor(返回对创建对象的Boolean函数的引用)。 使用“new Boolean()”构造函数将参数转换成一个布尔值,并创建一个布尔对象,而使用“Boolean()”转变函数只是将一个值转换成布尔类型的...
  • 创建 Date 对象方法 (1)创建当前(现在)日期对象的实例,不带任何参数 var today = new Date ( ) ; (2)创建指定时间戳的日期对象实例,参数是时间戳。 时间戳:是指某一个时间距离 1970 年 1 月 1 日 ...
  • reggie.generate生成RegExp对象。 版本 0.0.7 安装 npm install reggie-docs 用法 选项 setFlag reggie.setFlag(flag)设置用于reggie.generate的默认标志。 取一个字符串。 创造 reggie.create(templateLiteral...
  • RegExp对象方法

    千次阅读 2016-12-06 18:23:00
    test()方法:该方法用于检测一个字符串是否匹配某个模式;  基本语法:RegExpObject.test(str);  @param(参数) str是需要检测的字符串;  @return (返回值) 如果字符串str中含有与RegExpObject匹配的文本的...
  • JavaScript中的对象有三种 1,内部对象 如Array,Boolean,Data,Math,Number,Object,RegExp,String对象等 这些对象系统给我们提供了各自的属性与方法供调用。 2,基于类的对象 用类的方式实现对象的引用,这些...
  • RegExp()方法: 参数 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。 参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m","g"用于指定全局匹配,"i"用于区分大小写的匹配,"m...
  • 正则表达式--RegExp对象

    千次阅读 2019-01-09 22:56:45
    RegExp()构造函数带两个字符串参数,其中第二个参数是可选的,RegExp()用以创建新的RegExp对象。第一个参数包含正则表达式的主体部分,也就是正则表达式直接量中两条斜线之间的文本。需要注意的是,不论是字符串...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,343
精华内容 22,537
关键字:

regexp对象的创建方法有哪些?

友情链接: Programming_Examples.zip