zoukankan      html  css  js  c++  java
  • nodejs

    ----

    atom ----装个插件script  

    atom快捷键 :  ctrl 切换目录,ctrl shift o打开文件家,ctrl o 打开文件,ctrl n新建文件

    复习一下正则表达式:

    两种写法:

    /pattern/flag

    new Regex("pattern","flag"); 其中flag包含g全局,i忽略大小写,gi

    规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。这句话的意思:pattern是字符串格式,但是也是 符合正则表达式的写法,所以也要进行转义,如:

    用第一种写法:/+/,在第二种写法也要 pattern:\b+,是转义字符,也要对本身进行转义

    字符量模式 等价的字符串

    在正则表达式中字符串中的转义是双重转义,第一种是正则,第二种是正则字符串,第一种对元字符(特数意义的字符,如.,*,+,等等)用,在第二种写法中用\

    1. 要注意的是,传递给RegExp构造函数的两个参数都是字符串
    1. 由于RegExp构造函数的模式参数是字符串,所以在某些情况下要对字符串进行转义
    2. 所有元字符都必须双重转义,那些已经转义过的字符也是如此,例如 (字符在字符串中通常被转义为\,而在正则表达式字符串中就会变成\\
      1. 正则表达式中的元字符包括:( { ^ $ | ) ? * + . ] }

    一个正则表达式就是一个模式与上述3个标志的组合体
    与其他语言中的正则表达式类似,模式中使用的所有元字符都必须转义
    正则表达式中的元字符包括:( { ^ $ | ) ? * + . ] }
    这些元字符在正则表达式中都有一或多种特殊用途,因此如果想要匹配字符串中包含的这些字符,就必须对它们进行转义

    对于match方法,不是返回索引,而是返回数组,这个数组里面的内容就是匹配的内容,具体的内容跟标记有关,如果是/g返回所有的实例,那么就是匹配的内容

    var re=/at/g;
    console.log("att".match(re));


    [ 'at' ]
    
    [Finished in 0.672s]

      

    如果是/i,那么忽略大小写

    var re=/at/i;
    console.log("att".match(re));

    [ 'at', index: 0, input: 'att', groups: undefined ]
    
    [Finished in 0.712s]

    如果是/gi,

    var re=/at/gi;
    console.log("att".match(re));

    [ 'at' ]
    
    [Finished in 0.679s]
    如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。
    
    如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。
    

     全局检索模式下,返回的结果是数组中的内容不包含匹配内容的具体信息,就只返回匹配的内容,如果想在全局模式下想返回匹配内容的具体信息,可以用exec方法

    var re=/at/gi;
    console.log(re.exec("att"));

    [ 'at', index: 0, input: 'att', groups: undefined ]
    
    [Finished in 0.715s]

    默认是/i,不是全局检索,即没有标记的时候

    其中^是匹配的开头位置,加了这个那么这个字符串就必须以后面的字母开头,没有这个的话,那么可以在中间有这个内容,$是结束,一样的



  • 相关阅读:
    [转]windows Mobile使用ActiveSync上网
    C++剪切板操作
    jdk1.8源码分析hashMap
    【杂项】VMware 虚拟机安装ubuntu 16.04教程
    【Linux命令】数据流重定向
    【ceph | 运维】crush相关命令
    【Linux命令】更改hostname
    【Linux命令】sed命令
    【Linux命令】vim基本快捷键
    【Linux命令】install
  • 原文地址:https://www.cnblogs.com/fpcbk/p/10630089.html
Copyright © 2011-2022 走看看