[Regular Expression]Mastering Python Regular Expression基础通俗(3)

472 查看

续上:[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只从字符串的首字母开始匹配