• Python全栈学习笔记---正则表达式(二)


    匹配(matching):判断一个字符串能否从起始位全部或部分的匹配某个模式

    搜索(seaching):在字符串任意部分中搜索

    1.1、特殊字符

    注:若要匹配这些字符本身,在其前面加 ‘’

    1.2、从字符串起始或结尾或单词边界匹配

    • 边界绑定
    1 '^.....' | ‘A.......’     匹配 以‘.......’开头的字符串
    2 '.....$' | ‘.......’     匹配 以‘.......’结尾的字符串
    3 '^.....$'  | ‘A.......’  匹配 单独由‘.......’组成的字符串    
    1 '.....'      匹配 以‘.......’开头的字符串
    2  '.....'      仅仅含‘.......’的字符串
    3 'B.....'    匹配包含但 不以‘.......’开头的字符串

    1.3

    • 使用re.match()方法匹配字符串  

    从字符串起始部分进行对模式的匹配

    1 str1 = '[1-9](0|9)'
    2 m = re.match(str1, '1000')  #match(RE,str) RE:正则表达式 str:待被匹配的字符串 匹配成功返回特定子组,否则返回None
    3 print(m.group())   #返回匹配对象 其中可加index,返回第index个子组
    4 print(m.groups()) #没有子组要求时,返回空元组 子组:正则表达式中对应的()里的内容
    》》》19

    》》》('9',)
    • 使用re.search()在字符串中查找模式

    从左到右搜索第一次出现匹配的情况,若要从字符串起始开始匹配,则应在正则表达式中添加 '^' ,也可添加 '$'

    1 import re
    2 str1 = '[1-9](0|9)'
    3 m = re.search(str1, '00010000')  #search(RE,str) RE:正则表达式 str:待被匹配的字符串 匹配成功返回特定子组,否则返回None
    4 print(m.group())   #返回匹配对象
    5 print(m.groups()) #没有子组要求时,返回空元组
  • 相关阅读:
    素数路径Prime Path POJ3126 素数,BFS
    Fliptile POJ3279 DFS
    Find the Multiple POJ1426
    洗牌Shuffle'm Up POJ3087 模拟
    棋盘问题 POJ1321 DFS
    抓住那只牛!Catch That Cow POJ3278 BFS
    Dungeon Master POJ2251 三维BFS
    Splitting into digits CodeForce#1104A
    Ubuntu下手动安装Nvidia显卡驱动
    最大连续子序列和
  • 原文地址:https://www.cnblogs.com/myanswer/p/8503298.html
Copyright © 2020-2023  润新知