zoukankan      html  css  js  c++  java
  • 正则匹配单个字符

    匹配单个字符

    在上一小节中,了解到通过re模块能够完成使用正则表达式来匹配字符串

    本小节,将要讲解正则表达式的单字符匹配

    字符功能
    . 匹配任意1个字符(除了 )
    [ ] 匹配[ ]中列举的字符
    d 匹配数字,即0-9
    D 匹配非数字,即不是数字
    s 匹配空白,即 空格,tab键
    S 匹配非空白
    w 匹配单词字符,即a-z、A-Z、0-9、_
    W 匹配非单词字符

    示例1: .

    #coding=utf-8
    
    import re
    
    ret = re.match(".","M")
    print(ret.group())
    
    ret = re.match("t.o","too")
    print(ret.group())
    
    ret = re.match("t.o","two")
    print(ret.group())
    

    运行结果:

    M
    too
    two
    

    示例2:[ ]

    #coding=utf-8
    
    import re
    
    # 如果hello的首字符小写,那么正则表达式需要小写的h
    ret = re.match("h","hello Python") 
    print(ret.group())
    
    
    # 如果hello的首字符大写,那么正则表达式需要大写的H
    ret = re.match("H","Hello Python") 
    print(ret.group())
    
    # 大小写h都可以的情况
    ret = re.match("[hH]","hello Python")
    print(ret.group())
    ret = re.match("[hH]","Hello Python")
    print(ret.group())
    ret = re.match("[hH]ello Python","Hello Python")
    print(ret.group())
    
    # 匹配0到9第一种写法
    ret = re.match("[0123456789]Hello Python","7Hello Python")
    print(ret.group())
    
    # 匹配0到9第二种写法
    ret = re.match("[0-9]Hello Python","7Hello Python")
    print(ret.group())
    
    ret = re.match("[0-35-9]Hello Python","7Hello Python")
    print(ret.group())
    
    # 下面这个正则不能够匹配到数字4,因此ret为None
    ret = re.match("[0-35-9]Hello Python","4Hello Python")
    # print(ret.group())
    

    运行结果:

    h
    H
    h
    H
    Hello Python
    7Hello Python
    7Hello Python
    7Hello Python
    

    示例3:d

    #coding=utf-8
    
    import re
    
    # 普通的匹配方式
    ret = re.match("嫦娥1号","嫦娥1号发射成功") 
    print(ret.group())
    
    ret = re.match("嫦娥2号","嫦娥2号发射成功") 
    print(ret.group())
    
    ret = re.match("嫦娥3号","嫦娥3号发射成功") 
    print(ret.group())
    
    # 使用d进行匹配
    ret = re.match("嫦娥d号","嫦娥1号发射成功") 
    print(ret.group())
    
    ret = re.match("嫦娥d号","嫦娥2号发射成功") 
    print(ret.group())
    
    ret = re.match("嫦娥d号","嫦娥3号发射成功") 
    print(ret.group())
    

    运行结果:

    嫦娥1号
    嫦娥2号
    嫦娥3号
    嫦娥1号
    嫦娥2号
    嫦娥3号
  • 相关阅读:
    java ssh 框架下 利用junit4 spring-test进行单元测试
    在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题
    IBatis 2.x 和 MyBatis 3.0.x 的区别(从 iBatis 到 MyBatis)
    mysql GET DIAGNOSTICS 语法
    如何优化用SQL语句INSERT INTO … SELECT插入数据时锁全表的问题
    mysql中binlog_format模式与配置详解
    MySql 里的IFNULL、NULLIF和ISNULL用法区别
    mysql order by 优化 |order by 索引的应用
    几款开源ESB总线的比较
    ETL简介
  • 原文地址:https://www.cnblogs.com/georgexu/p/11204742.html
Copyright © 2011-2022 走看看