正则表达式01

正则表达式根据李炎灰视频教程总结

  1. 创建正则表达式有两种方式

    1. 字面量的方式

      let box = 'box';
      let patten = '/box/ig'
      patten.test(box);
      // 匹配则为true否则为false
      
      
    2. new的方式

      let box = 'box';
      New patten = ('box','ig')
      patten.test(box);
      // 匹配则为true否则为false
      
  2. i和g

    i代表不区分大小写进行匹配,g代表全局匹配而不是匹配第一个就停止
    
  3. test和exct

    patten.test(box);
    patten.exct(box);
    用test匹配与否所得结果是true和false;exct匹配与否所得的结果是一个数组
    
  4. 字符串对象提供的四种方法

    match // 返回pattern中的子串或null
    replace(pattern,replacement) // 用replacement替换pattern
    search(pattern) // 返回字符串中pattern开始的位置
    split(pattern) // 返回字符串按指定pattern拆分的数组
    
    1. match

      
      
      let pattern = /Box/ig
      let str = 'this is a box!that is a box!'
      str.match(patern)
      // 返回[box,box];
      
    2. search

      let pattern = /Box/ig
      let str = 'this is a box!that is a box!'
      str. search(patern)
      // 由于search返回的是第一个匹配的位置,所以设置全局是没有用也没有必要的
      // 若有匹配返回匹配的位置,若没有匹配则返回-1
      
    3. replace

      let pattern = /Box/ig
      let str = 'this is a box!that is a box!'
      str. replace(patern,Tom)
      //结果是'this is a Tom!that is a Tom!'
      
    4. split

      let pattern = /!/ig
      let str = 'this is a box!that is a box'
      str. split(patern,Tom)
      //结果是[this is a Tom,that is a Tom] 
      此方法其实和字符串的join基本相同
      
  5. 静态属性和示例属性

    1. 静态属性

      input短名$_  当前被匹配的字符串
      lestMatch短名$& 最后一个匹配字符串 
      lastParen短名$+ 最后一对圆括号内的匹配子串
      leftContext短名$`  最后一次匹配前的子串
      multiline短名$* 用于指定是否所有的表达式都用于多行的布尔值
      rightContext短名$` 在上次匹配之后的子串
      
      
      1. input

        let pattern = /box/ig
        let str = 'this is a box!that is a box'
        patten.test(str);
        alert(regExp.input)
        // 结果为'this is a box!that is a box'
        
      2. lestMatch

        let pattern = /box/ig
        let str = 'this is a box!that is a box'
        patten.test(str);
        alert(regExp.lestMatch)
        // 结果为'box'
        
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建正则表达式有两种方式字面量的方式let box = 'box';let patten = '/box/ig'p...
    正直走阅读 2,622评论 0 0
  • 正则对象 生成正则对象 有两种方法可以创建并得到一个正则表达式对象 字面量声明方式 var reg = /abc/...
    liudai123阅读 3,430评论 0 0
  • 正则表达式是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式。String与RegExp...
    Miss____Du阅读 4,216评论 0 4
  • 假设用户需要在 HTML 表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScri...
    结构学AI阅读 2,087评论 0 0
  • 1. 概念 正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从...
    沈林生阅读 24,030评论 0 2