美文网首页
正则表达式03

正则表达式03

作者: 正直走 | 来源:发表于2020-12-25 16:57 被阅读0次
  1. 空格匹配

    let pattern = /goo gle/;            //直接使用空格匹配
    let str = 'goo gle';
    alert(pattern.test(str));
    
    let pattern = /goo\sgle/;           //\s表示空格匹配
    let str = 'goo gle';
    alert(pattern.test(str));
    
  2. \b表示到达边界

    let pattern = /google\b/;       
    let str = 'google';
    alert(pattern.test(str));
    
  3. |表示匹配或选择模式

    let pattern = /google|baidu|bing/;  
    let str = 'this is a bing';             
    alert(pattern.test(str));
    
  4. a{n,m}标识a的n至m次

    let pattern = /google{4,8}$/;       //表示e的4-8次
    let str = 'googleeee';
    alert(pattern.test(str));
    
    let pattern = /(google){4,8}$/;         //分组,可以看成一个字符
    let str = 'googlegooglegooglegoogle';   //表示google4-8次
    alert(pattern.test(str));
    
    let pattern = /8.*8/;
    let str = 'This is a 8google8';
    alert(pattern.test(str));
    
    let pattern = /8(.*)8/;
    let str = 'This is a 8google8';
    str.match(pattern);
    alert(RegExp.$1);
    
  5. $1

    //RegExp.$1表示获取模式中第一个分组对应的匹配字符串
    //$1表示分组获取字符串匹配到的内容
    
    let pattern = /8(.*)8/;
    let str = 'This is a 8google8';
    document.write(str.replace(pattern, '<strong>$1</strong>'));            
    
  6. 位置交换

    let pattern = /(.*)\s(.*)/;
    let str = 'google baidu';
    alert(str.replace(pattern, '$2 $1'));           
    
    let pattern = /[a-z]+/;                             //这里使用了贪婪模式
    let str = 'abcdefj';
    alert(str.replace(pattern, '1'));                   //所有的字符串变成了1
    
    //使用惰性模式
    let pattern = /[a-z]+?/;
    let str = 'abcdefj';
    alert(str.replace(pattern, '1'));   
    //只有第一个字符变成了1,后面没有匹配
    
    //开启全局,并且使用惰性模式
    let pattern = /[a-z]+?/g;
    let str = 'abcdefj';
    alert(str.replace(pattern, '1'));   
    //每一个字母替换成了1
    
    //使用了贪婪,
    let pattern = /8(.*)8/;     
    let str = '8google8 8google8 8google8'; //匹配到了google8 8google8 8google
    document.write(str.replace(pattern, '<strong>$1</strong>'));
    //结果:<strong>google8 8google8 8google</strong>
    
    //使用了惰性,开启全局
    let pattern = /8(.*?)8/g;
    let str = '8google8 8google8 8google8'; 
    document.write(str.replace(pattern, '<strong>$1</strong>'));
    //这次结果正确了
    //<strong>google</strong>
    //<strong>google</strong>
    //<strong>google</strong>
    
    //另一种惰性,屏蔽了8的匹配,也就是两边包含字符
    let pattern = /8([^8]*)8/g;
    let str = '8google8 8google8 8google8'; 
    document.write(str.replace(pattern, '<strong>$1</strong>'));
    //<strong>google</strong>
    //<strong>google</strong>
    //<strong>google</strong>
    

相关文章

  • 正则初解

    title: js验证常用正则表达式date: 2017-03-03 验证 正则表达式 本文介绍js验证常用的正则...

  • day15正则表达式

    01-正则表达式的符号 02-正则表达式符号组合 03-正则表达式 04-re模块方法

  • Day15 正则表达式

    01.正则表达式的符号 02.正则表达式符号组合 03.正则表达式 04.re 模块方法 01.正则表达式的符号 ...

  • Python 学习笔记 061

    正则表达式 03 使用正则表达式匹配百度搜索到的内容 灵活利用正则匹配网页源代码 真心很强大的正则表达式 不过也很...

  • 正则知识点总结

    title: 正则知识点总结date: 2018-01-04 23:03:51tags: 正则表达式 intro ...

  • 第十四天课堂笔记 2019-03-19

    第十四天课堂笔记 2019-03-19 3W1H:1、什么是正则表达式?作用和特殊字符一样。正则表达式是为处理大...

  • 正则表达式之18位身份证号,手机号,邮箱,日期

    匹配18位身份证号,正则表达式如下: @"^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03...

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

网友评论

      本文标题:正则表达式03

      本文链接:https://www.haomeiwen.com/subject/acxkgktx.html