正则表达式

2018-08-10 11:26:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  

 1. 什么是正则表达式:

    一种匹配字符串的规则

 2. 正则表达式能作甚莫

    制定一个规则,来确定一个字符串是否符合规则或者从大段的字符串中,找到符合规则的

    内容

    登录注册表单验证 ; 爬虫 ; 自动化开发 ; 日志开发

 3. 正则表达式语法

   元字符:

    字符组 [ ]  在一个字符的位置上能出现的内容

      [0-9] 表示这一位置上只匹配0到9之间的一个数字

     [A-Z] 表示这一位上只能匹配A到Z之间的一个大写字母(Python根据ascii码的顺序确

      定A-Z的先后范围)

     [a-z] 表示这一位上只能匹配a到z之间的一个小写字母(Python根据ascii码的顺序确

      定a-z的先后范围)

     [0-9][A-Z][a-z]表示匹配三个字符,且按照顺序满足每一位置上的条件

     [0-9a-zA-Z]  标识匹配一个字符,满足每一范围的条件.但是没有顺序限制

     [^abc] 非字符组 在此种情况,^ 相当于'非', 与[ ]所对应的位置不允许有[ ]内的内容

    

    \d  表示匹配一个字符,匹配的是一个数字

    \w  表示匹配一个数字字母下划线

    \s  标识匹配任意一个空白字符(回车 / \n,空格,制表符 / tab)

    \n  表示匹配回车

    \t  表示匹配制表符

    \D  匹配非数字

    \W  匹配非数字字母下划线

    \S  匹配非空白字符

    [\d\D] [\s\S] [\w\W]  表示匹配所有

    .  匹配除换行符以外的任意字符

    \b  匹配一个单词的边界   o\b  表示只匹配以o结尾的边界  \bo 表示匹配以o开始的边界

    ^  匹配字符串的开始

    $ 匹配字符串的结尾

                                 

 

    |    表示可以匹配 | 左右的字符都可以( ' 或 ' 的意思)

       abc|ab   'abc'和'ab'都可以 ; 

      ab|abc   只有ab可以,(从左往右查找,找到就停止,所以只找'ab',不再往下找)

 

    ()  分组 

  

  量词 ?  +  *  {}

   ?   表示 0 次或1 次  + 表示 1 次或多次  * 表示 0 次或多次

   {n}  表示 n 次  {n,}   n 次以上  {n,m}   n 到 m 次

   元字符和量词结合 , 表示在同一位置可以陪配多个

 回溯算法  (用回溯算法完成贪婪匹配)

 

  特殊的用法和现象

   ? 的使用

    在量词后面加个 ? (??  +?   *?)取消贪婪匹配(尽可能多的匹配) 变成惰性

    匹配(尽可能少的匹配)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:文件操作

下一篇:python3爬虫抓取智联招聘职位信息代码