续上:[Regular Expression]Mastering Python Regular Expression基础通俗(2)
1:Python正则表达module中两个重要对象
pattern object
match object
如下图
1:使用re.compile()函数,返回为pattern对象
2:使用pattern.match()函数,如果match到存在的结果,则返回match对象,否则返回'None Type'
福利
:一个在线验证自己写的正则表达式是否正确的网站:http://pythex.org/
2:关于正则表达式中的Raw String
如下图:
1:re.comile中的 '\\'前加入字母r,表明里面的表达式已经是raw string
2: 而"\just a book"前面加了r,表明,在做match之前,先对这些字符串做to raw string的转化,那么\just a book则变成了 \\just a book,然后再进一步做match
补充:字符串前面加u,代表unicode string
字符串前面加ur,代表unicode raw string
再强调一下:python正则模块中最重要的两个对象:
pattern object (也有人称regex object)
match object
3:pattern object的match方法
pattern对象在调用match方法对正则进行匹配时,只从字符串的开头开始检测(match at the begining of the string)
我们可以通过match方法的第2个参数,调整字符串的开头,如下图,以pos=1为字符串的开头位置
4:pattern对象的match方法和search方法的对比效果
例子主要演示match方法会从字符串的首字母进行匹配,而search方法不会有这个要求
search方法搜索的条件更宽,match只从字符串的首字母开始匹配