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()) #没有子组要求时,返回空元组