zoukankan      html  css  js  c++  java
  • 正则相关

    简单理解:就是以浏览器可以识别的一种方式去分析对应数据是否符合要求

    (1)字符查找,search类似于indexOf,没有则返回-1

     

    (2)字符串截取substring

    (3)返回字符串某一位charAt

    (4)字符串截取切分split

    【缘由/优势】

      需求:找出字符串中所有数字

      (1)普通原始字符串操作

        

      (2)正则

        

    【定义】

      

       

      

     (1)邮箱规则

      

    (2)正则两种写法

      

      perl为一门比较老版的编程语言,现在应用不太广泛,该语言首次提出正则概念

    (3)search字符串搜索

    RegExp为Reg Expression正则表达式简称

      

       

    (4)search参数---字符串忽略大小写

      

       

    (5)match匹配

      需求:找到第一个出现的数字???

      

       这里需要用到转义

      

       之前的search只能找到相应字符位置,并不能提取出来,这里便需要用到match

      

       案例:

      

       问题:此时只会获取到3,第一个数字... ...

    (6)match参数---g全局匹配

      

       

       问题:输出结果为分隔切片后的数据... ...

      分析:因为/d/只要了一个数字... ...,验证如下

      

      

       如果3位,则只会输出656

    (7)match参数---量词

      

      

       

     (8)replace替换

      

       需求:将所有a变为0

      

       

       

       问题:这里只把第一个变为0... ...

      接下来结合正则

      

       

       会发现还是无效... ...此时正则里参数--全局匹配g加入即可

      

       

    (9)replace替换案例---敏感词过滤

      1、功能分析

      

       

       点击过滤后在另一个输入域里显示过滤好的

      2、编写脚本

        ① 获取

          

         ②点击绑定

          

         ③正则

          接下来考虑re正则即可

          编写敏感词

          

           测试

          

         ④问题。此时发现只替换了第一个,原因:缺少全局匹配参数g

          

          

    (10)基本组成部分---元字符(开发通常称之为方括号)

      1、任意字符

       

      

       2、范围字符

      

       

       

       3、排除^

      

       除了字母都可以,即排除字母

       4、混合使用

      

       排除英文字母和数字

    (11)案例:模拟小说采集器,过滤HTML标签

      

      1、布局

        

         需求:原始HTML转换为纯文本

        

         去除HTML标签

      2、编写脚本

        ① 获取及大概思路

          

    转义字符:.代表任意

        ②分析正则re

          

           测试:

          

           问题:转化成了空行... ...

    分析:正则天生具备一个特性“贪婪”

          

           正则将整个过滤了... ...

          分析:不能出现任意字符,不能包含尖括号

          

          新规则:

           

           验证如下:

          

    (12)转义字符

      

       space空格

      三个孪生兄弟

      

    (13)量词

      

      1、{n}电话

        

      2、{n,m}QQ号

         

      3、{n,}

        

      4、?

        

         

         区号可有可无

        

         完整如下

        

      5、*

        

    (14)量词*注意

      少用*

      

      

       这里*理解为0次或更多次,那么字母或者空格地方可理解为0个数字

       

    (15)量词练习

      

       

      1、静态布局

       

       2、脚本

       

       3、正则翻译

      

       4、测试

       

       5、问题

      

      合法邮箱前加些其他数据,发现任然合法

      6、分析

    test特性:部分符合要求,则返回true

      

       行首和行位优化限制

      

       

    .

  • 相关阅读:
    C#编程(八)--------- Main函数
    C#编程(七)----------命名空间
    C#编程(五)----流程控制
    C#编程(六)------------枚举
    C#编程(四)
    新一代蓝牙5标准开启 会成为物联网的最佳选择吗
    向阳网络:跬步千里_且看初创企业的上云之路
    单片机如何过渡到嵌入式?
    spark源码系列文章------shuffle模块详解
    Linux系统小技巧(4):环境变量JAVA_TOOL_OPTIONS简介
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/12099831.html
Copyright © 2011-2022 走看看