• 最简单的正则表达式教程(一)


    标题可能有点唬人 ,但是我确确实实想写一篇通俗易懂的正则表达式教程 .能帮助新手理解这个有用的东西.

      先得知道.正则表达式 可以 使用较短的字符串描述出来一段有规律的字符串.  从而被应用于查找  校验等地方.....

    声明: 这篇是基础文章,高手可以略过.如有错误之处,请指出. 

    ---------------------------------------分割----线-------------------------------------------------------------------------

    先讲字符集(就是集合啦)  .使用的是 [ ] (英文中括弧)

    [123]     有选择的单个字符哦 .  就是仅能匹配  1 2 3 三个数组

    [0-9]   可以匹配数字

    [a-z0-9A-Z]  可以匹配 数组以及字母(大小写都行)

    而在字符集中括弧里面的前边加入 ^ 表示匹配没有包含在括弧里面的字符..  例如:  [^123]  34ddf 标红的被匹配4个(分别为 4 d d f)

    每次[0-9]表示数字写是不是麻烦?? 

    d
    匹配一个数字字符。等价于 [0-9]
    D
    匹配一个非数字字符。等价于 [^0-9]
    w
    匹配包括下划线的任何单词字符。等价于 [A-Za-z0-9_]
    W
    匹配任何非单词字符。等价于 [^A-Za-z0-9_]

    没有匹配字母的.. 只能自己写.

    现在需求改动了.我需要匹配有一定连续次数的某个指定字符. 此时需要使用到 {} (大括弧  )

    {n}  n为任意非负数    . 例如: [123]{3}   135312  将匹配标红地方. 而前面13 将不会匹配.因为就出现2次. 长度不对

    {n ,} 比上面多了一个逗号,表示至少出现n次,n为任意非负数   .  例如: [123]{3 ,}  135312623312 匹配标红两段

    {n,m} 比上面又多出了一个m. n` m为任意非负数 表示匹配连续次数为n到m的字符串.  例如:[123]{3, 4} 135312623312 仅匹配312 , 13  和 23312长度都不对.

    上面就是控制次数的哦.不过还有一些控制次数的简单符号...

    *     表示0次以上  . 相当鱼 {0,}

    ?     表示0 或者 1次 ,  相当于{0, 1}

    +    表示1次或者以上  , 相当于  {1 ,}

    好了控制次数的全部讲完了.   现在需求升级.   需要匹配2个数字开头 和 3个字母结束的的字符串. 看好啦!!!!

    所以该正则表达式应该是  :    ^[0-9]{2}.*[a-zA-Z]{3}$

    ^  表示匹配开头位置

    $   表示匹配结尾位置

    假如有3个字符串:  1d1111ddd    11dddd1d   11dddddd  这个时候,上面的表达式仅能匹配 第三个: 11dddddd 

    解惑:   .  代表除回车( )以外的任意字符   .* 当然指中间可以有任意数目的任意字符哦.

    有时候.我希望匹配两个或者多个表达式.怎么办呢?  

    比如: yahoo   yahu. 我都希望能匹配. 这个时候.就需要一个 或 的关键字符 |  (竖杠)

    能够使用表达式:    yahoo|yahu  来匹配哦.

    随着深入 ,你会发现想匹配 ^ $  .等等.这些正则表达式里面使用的字符  .但是匹配不上. 怎么回事呢.  

    简单 .因为这些都是正则表达式的关键字,  匹配关键字得使用转义的反斜杠    , 例如 :  想匹配 [   一定是用 [

    现收集的需要转义的字符有:    * + . ? / ^ $ [] {} () |  对应的写作 * + . ? \ / ^ $ [ ] { } (  )  |   在代码里面使用因为是特殊字符.所以还得再加一个

    ---------------------------------------再分割---------------------------------------------------------------------------

    好了,最基础的部分就是这些.   上面的都是铺垫.  主要学习正则表达式都是为了使用他校验  或者 获得匹配格式的字符 .  为了不让你们有阅读疲劳,, 我将以上作为一篇. 

  • 相关阅读:
    燃料
    Widgets学习
    莫比乌斯反演与杜教筛
    jade在命令行实时编译
    jade文档声明和头尾标签
    团队成员之间的对抗与互助的鼓励
    jade简介
    node入口文件分析和目录初始化
    搭建一个项目的前期准备
    判断团队适不适合使用node
  • 原文地址:https://www.cnblogs.com/qiunet/p/3299528.html
Copyright © 2020-2023  润新知