Regex 简介

正则表达式,由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。

它的语言名称叫 Regular Expression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。


起源

最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。在这些领域中有对计算(自动控制)的模型和对形式化语言描述与分类的研究。

1940年,沃伦·麦卡洛克与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。

1950年代,数学家斯蒂芬·科尔·克莱尼利用称之为“正则集合”的数学符号来描述此模型。肯·汤普逊将此符号系统引入编辑器QED,随后是Unix上的编辑器ed,并最终引入grep。自此以后,正则表达式被广泛地应用于各种Unix或类Unix系统的工具中。正则表达式的POSIX规范,分为基本型正则表达式(Basic Regular Expression,BRE)和扩展型正则表达式(Extended Regular Express,ERE)两大流派。

目前正则表达式在诸多编程语言中都支持,如Java、Python、PHP、JavaScript,在诸多编辑器都支持,如Word、Notepad++等,在数据中也支持,如MySQL数据支持正则表达式条件查询。

正是有如此广阔的应用场景,有必要好好学习正则表达式。