美文网首页
第七天正则表达式

第七天正则表达式

作者: 洋仔幕落幕合 | 来源:发表于2016-11-29 22:39 被阅读0次

正则表达式的理念:

            1. 关于字符串的一些方法
            2. 操作字符串,不用正则完全可以,如果用正则的话就会:方便并且效率-极高
            3.正则也叫规则表达式
      例子--1:找数字:
       var str = 'sjd23 2 l289k 232432432  j  9';   期望结果: 23 2 289  232432432  9 
              (1):传统做法:循环判断
              (2):正则做法:str.match(/\d+/g)使用正则时要先new一个正则出来:

正则的使用方法:

           new RegExp();RegExp:正则单词简写,
           完整写法:Regular Expression  new RegExp('规则');

正则里string两个方法:

      (1):str.search(正则);  //在字符串中查找,找到匹配表达式的第一个字符串的位置   
                     indexOf  找不到,返回 -1  
      (2):str.match(正则);//在字符串中用 正则表达式来匹配,返回的是符合规则的字符串数组
                     找不到,返回 null

使用正则找字母的几种写法:

         new RegExp('k');new RegExp(规则)--区分大小写
         new RegExp(‘规则’ ,‘选项’)--i是指选项并且不去区分大小写 :
         new RegExp('正则','选项');
         new RegExp(‘规则’ ,‘选项’)  的简写:/规则/选项;

正则的转义:

      \     表示转义符
      \ d   表示数字
      \n    表示换行
      \w    表示字母 数字和下划线()
      \s      空白  空格
      \D    表示数字  
      \W    表示非字母 数字 下滑线
      \S    表示非空白  空格
      \.    表示统配符的意思也叫任意字符
      例子:str.match(/\d+/g) 在正则中:\d  ---  表示数字

正则特性:

           1、懒只会找一次,后面的都不管
                g :正则的一个选项,表示: 全局(查找,匹配)
                 i:忽略大小写
           2、笨、蠢  找数字的时候,把数字都拆分开了,不是找到一个就完事了
           3、贪:  一组中有多少字符都不分开

使用正则测试敏感词过滤的小例子:

               str.replace() ---如果说没有正则,replace()就是个废物
               str.replace('原字符串','目标字符串');
               str.replace(正则|字符串,'目标字符串');

正则里或的表示方法:

       JavaScript里: 双杠表示或||    在正则中单个杠表示|  或的意思
       str.replace(正则|字符串,字符串|函数);

正则里的修饰符:

        (1)  ^:表示行首  
        (2)  $:表示行尾
       正则里m表示多行模式:当前行的开头和结尾 单行模式:^行首、$行尾 表示就是整个字符串的开头和结尾
        选项:m ---多行模式  muti - line
        选项:  gi gm   *选项
         i,g,m使用时,可以直接写在一起
         replace()  可以连写

正则里的量词:

          {n}       n个
          {n,m}     最少n个,最多m个
          {n,}      最少n个,最多不限
          {1,}      最少1个,最多不限
          {0,1}     最少0个,最多1个   --  有无
          {0,}      最少0个,最多不限 +
          {1,}      最少个,最多不限  ? 
          {0,1}     最少0个,最多1个
         * {0,}     最少0个,最多不限-- 不推荐使用

正则里 []中括号:

          1)或  [ab]  --  a  或 b
                [1a2d]   --1或a或2或d
                [18]   --  1或8 //  'ad18sd  1kds  8sd  '
        2)范围
            [0-9]  从0到9
            [a-z]  小写字母
            [A-Z]  大写字母
            [a-z0-9A-Z]   3)排除^
            [^0-9]表示: 除了数字
            str.search(expr)str.match(expr)expr.test(str);  //测试  看 表达式和字符串是否能匹配上,如果能返回true,否则false

正则的应用:

      匹配  固定电话:
      思路:    82323238   5727323    010-88234582    0476-5329878
      如果有-,前面是3或4位数字
      如果有-,后面是7或8位数字
      电话号一共不超过12位数字
      如果有区号,第一位是0,可以没有区号和区号可有可无
        1:有区号:第一位是0:后面是
        2:电话部分:第一位不是0    6-7位数字
          使用 .test  方法,本身有一些问题,  不太严谨  如果要用test,请一定要加上  /^ $/
          正则里点 .  和 | 使用或  一定要加括号
    步骤:
     1)用你的语言来翻译一下规则
     2)分段来考虑  固定电话:区号电话
     3)翻译成代码

固定电话正则代码:

        var regx = /^(0[1-9]\d{1,2}\-)?[1-9]\d{6,7}$/;手机号:
        var regx = /^1[345789]\d{9}$/;邮箱:
        var regx = /^\w{1,30}@[0-9a-z\-]{2,20}(\.[a-z1-9]{2,3}){1,2}$/;年龄:

var regx = /^(1[89])|([2-9]\d)|(100)$/;>

相关文章

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

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

  • 正则相关

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

  • 正则表达式系列-1

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

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:第七天正则表达式

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