• 正则表达式中两种定义方式中的反斜杠


    正则表达式有两种定义方式,一种是使用双正斜杠将正则表达式的式子括起来,例如 var re1 = /^d$/ ;一种是使用创建正则表达式对象的方式,这种情况下正则表达式作为一个字符串,用双引号包裹,例如 var re1 = new RegExp(“^\d$”)。从这两种示例中可以看出虽然表达同样的意思,但是使用的正则表达式却有一些区别,区别之处就在反斜杠的使用。

    反斜杠代表转义字符,用在所有字符串中,正则表达式作为一种超级字符串,和字符串一样遵循转义字符的条件,点在正则表达式中代表任意字符的匹配,以点为例讨论反斜杠在正则表达式中定义时的使用。

    在第一种定义方式中,讨论   /23\.34/  和   /23.34/  的区别,代码如下。结论:在这种定义方式下不能用双反斜杠,否则会将转义字符转义为一个普通字符反斜杠。

    在第二种定义方式中,讨论 new RegExp("23.34") 、new RegExp("23.34")   和  new RegExp("23\.34")的区别,代码如下。结论:在这种定义方式下由于是将正则表达式放在字符串中,因此若想让点成为一个普通点,因此需要使用双反斜杠。

     

     核心之处在于反斜杠适用在所有字符串中,正则表达式作为超级字符串同样适用,而在进行匹配、测试等情况时,免不了要同时使用正则表达式和字符串,要注意理清自己的思路。

  • 相关阅读:
    SPSS分类分析:决策树
    单例设计模式
    设计模式
    java.lang.NoClassDefFoundError: org/apache/zookeeper/proto/SetWatches
    AngularJs中Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/
    如何在linux环境下配置环境变量
    MQ的面试题
    VUE框架
    SQL中and和or的区别是?
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/NIFS/p/12341372.html
Copyright © 2020-2023  润新知