正则表达式(Regular Expression也称为REs,或regexes或regex patterns)本质上是一个微小且高度专业化的编程语言。
它被嵌入到python中,并通过re模块提供给程序员用。
使用正则表达式,你需要指定一些规则来描述那些你希望匹配字符串集合,这些字符串集合可能包含句子、e-mail地址,TeX命令,活着任何你想要的东东。
正则表达式模式被编译成一系列的字节码,然后由一个C语言写的匹配引擎所执行。
对于高级的使用,你可能需要更关注匹配引擎室如何执行给定的RE,并通过已定的方式来编写RE,以便产生一个可以运行得更快的字节码。
注释:python的正则表达式引擎是用C语言写的,所以效率是极高的。这里说的RE就是我们上面提到的‘一些规则’。
正则表达式语言相对较小,并且收到限制,所以不是所有可能的字符串都可以使用正则表达式来完成。
还有一些特殊的任务,可以使用正则表达式来完成,但是表达式因此而变得非常复杂。
在这种情况下,你可能通过自己编写的python代码来处理会更好些,尽管python代码比一个精巧的正则表达式执行起来会慢一些,但是更容易理解。
注释:这可能就是大家常说的‘丑话说在前面’吧,正则表达式非常优秀,它可以处理你98.3%的文本任务。