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

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

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

1.1、特殊字符

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

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

  • 边界绑定
1 '^.....' | ‘\A.......’     匹配 以‘.......’开头的字符串
2 '.....$' | ‘.......\Z’     匹配 以‘.......’结尾的字符串
3 '^.....$'  | ‘\A.......\Z’  匹配 单独由‘.......’组成的字符串    
1 '\b.....'      匹配 以‘.......’开头的字符串
2  '\b.....\b'      仅仅含‘.......’的字符串
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()) #没有子组要求时,返回空元组

 

posted @ 2018-07-22 10:19  Stranger115  阅读(154)  评论(0编辑  收藏  举报