zoukankan      html  css  js  c++  java
  • python正则表达式整理

    正则表达式在处理字符串时很大的作用,爬虫中也经常用到,下面就将一些常用正则表达式做一整理记录,方便以后查看。

    ^     匹配字符串开始,如^d表示以d开头的字符串

    .      表示匹配任意字符串

    *     表示前面的字符串可以重复多遍

    $    表示结尾字符串,比如以3结尾的字符串可以表示为:3$

      表示非贪婪模式,正则表达式默认为贪婪模式,贪婪模式下是反向匹配,即从后向前匹配。非贪婪模式正好相反

    +    限制字符出现次数,至少出现一次

    {}    限制字符出现次数

      {1}  字符出现一次  {2}出现两次  以此类推

      {1,}字符至少出现一次。其他相同格式,以此类推

           {1,3}字符至少出现一次,做多出现3次  。其他相同格式以此类推

    |      表示为  或  的意思

    ()    表示匹配模式,只匹配()里面,匹配时从最外层()开始

    s    匹配空格      s+   匹配多个空格

    S   匹配除空格以外的任意字符    S+ 表示匹配多个非空字符

    w   匹配a-z A-Z 0-9以及下划线中的任意字符

    W  匹配出a-z A-Z 0-9以及下划线以外的任意字符

    []    匹配括号中出现的任意字符

      [1357]  表示可以匹配1,3,5,7中任意一个字符

      [^]  表示取反,非    [^1]表示可以匹配除1以外的任意字符

           [A-Za-z0-9]  表范围,[A-Z]表示可以取A-Z中的任意一个字符   (1[34578][0-9]{9}) 表示字符串以1开头,

      第二个字符为3,4,5,7,8中任意一个字符,[0-9]表示0-9中任意一个数字,{9}表示重复[0-9]9次

    [u4E00-u9FA5]    匹配汉字。默认匹配一个汉字

               [u4E00-u9FA5] +   可匹配多个汉字

    d   匹配数字    d+ 代表匹配连续的数字      d{4}代表匹配四位数字

       匹配单词边界

    正则表达式应用:

    正则表达式常用于文本信息提取及用户输入信息校验等地方,下面的列子用于验证用户输入的用户名和qq号是否有效。

     1 import  re
     2 
     3 """
     4 正则表达式
     5 验证输入用户名和QQ号是否有效并给出对应的提示信息
     6 
     7 要求:用户名必须由字母、数字或下划线构成且长度在6~20个字符之间,QQ号是5~12的数字且首位不能为0
     8 
     9 """
    10 def qq_verify():
    11     username  =input("请输入用户名: ")
    12     qq = input("请输入qq号:  ")
    13     u1 = re.match(r'^[0-9a-zA-Zu4E00-u9FA5]{6,20}$',username)  #  u4E00-u9FA5匹配汉字
    14     if not u1:
    15         print('请输入有效的用户名')
    16     q1 = re.match(r'^[1-9]d{4,11}$',qq)
    17     if not q1:
    18         print('请输入有效的qq号')
    19     if u1 and q1:
    20         print('信息有效')
    21 if __name__ == '__main__':
    22 
    23     qq_verify()

    以上为常见正则表达式整理,不全的地方后面会继续追加。

    当你试图去用自己的言语去讲清一些事物时,你会明白对此事物的理解是融会贯通还是一知半解
  • 相关阅读:
    51单片机按键连击
    未知设备号创建设备节点
    C语言中enum的用法
    linux 端口IO操作
    读写控制台记录级别
    linux内核驱动中读写函数
    使用gawk记录一段时间内,某个进程占用内存和CPU的情况
    <Linux> Ubuntu error: ssh: connect to host master port 22: No route to host lost connection
    MapReduce的分区与 分组二次排序
    问题
  • 原文地址:https://www.cnblogs.com/1211-1010/p/11168932.html
Copyright © 2011-2022 走看看