zoukankan      html  css  js  c++  java
  • 正则表达式中两种定义方式中的反斜杠

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

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

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

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

     

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

  • 相关阅读:
    day10 Java学习(开发工具.Eclipse)
    day9 Java学习(面向对象Package关键字)
    day8 Java学习(面向对象.多态&接口)
    day7 Java学习(面向对象.继承)
    day5 Java学习(面向对象)
    day4 Java学习(数组)
    day3 Java学习(循环结构)
    day2 Java学习(位运算符)
    2019-05-26 java学习日记
    2019-05-25 java学习日记
  • 原文地址:https://www.cnblogs.com/NIFS/p/12341372.html
Copyright © 2011-2022 走看看