Python正则表达式
正则表达式(Regular expression)是组成搜索模式的一组字符序列,是记录文本规则的代码,用来检查文本中是否包含指定模式的字符串,通过定义一个规则来匹配字符串。正则表达式广泛应用于在字符串查找和处理中,大多文本编辑器基本都支持正则表达式查找。本文将简要介绍正则表达式语法,然后介绍Python语言中正则表达式使用方法。
正则表达式
Unix之父Ken Tompson将正则表达式引入Unix,后面发展成了grep(Global Regular Expression Print)命令,由于grep不支持+、|与? ,且分组比较麻烦,AT&T的Alfred Aho开发了egrep命令。随着Unix的版本不断演化,Unix中的程序(比如Linux三剑客中的awk、sed)所支持的正则表达式有差异,比较混乱。在1986年制定了POSIX(Portable Operating System Interface)标准,其中统一了正则表达式的语法。
POSIX标准把正则表达式分为两种:BRE(Basic Regular Expressions)和ERE(Extended Regular Expressions )。BRE就是unix系统使用的grep命令,ERE对应egrep命令,是BRE的扩展。而linux系统使用的是GNU标准,linux发行版集成了GNU(Gnu’s Not Unix)套件,GNU在实现了POXIS标准的同时,做了一定的扩展。也包括GNU Basic Regular Expressions 和GNU Extends Regular Expressions。
正则表达式除了POSIX标准之外还