正则简史
20世纪40年代,Warren McCulloch 和Walter Pitts 提出了一种神经网络描述方法
1956年,一位数学家(Stephen Kleene)发表论文描述一种“正则集合”符号
Ken Thompson (UNIX之父) 于1968年发表了文章《正则表达式搜索算法》 编辑器qed -->grep -->(类)UNIX 系统各种工具
1968年,POSIX标准,开始进行正则标准化的尝试(POSIX流派)
1987年12月,Larry Wall 发布了Perl 语言第一版,随后正则功能大放异彩,影响越来越大
1997年有诞生了PCRE --Perl兼容正则表达式(Perl Compatible Regular Expressions
流派
POSIX流派
POSIX字符组
BRE
工具:grep, vi/vim sed
特点:花括号,圆括号要转义,不支持问号,管道符,和加号
字符组:不能使用\d 等字符组,需要使用POSIX字符组
GNU BRE
工具:GNUgrep, GNU sed
特点: 在BRE基础上,支持问号,加号和管道符
巧妙记忆:GNU BRE “花园问管家要转移”
ERE
工具: egrep,awk
特点:花括号,圆括号不用转义,支持问号,加号和管道符
字符组:不能使用\d等字符组,需要使用posix字符组
GNU ERE
工具:GNU sed-E, GNU grep -E
特点 :在ERE 基础上,支持反向引用 \1\2
巧妙记忆: GNU ERE 两个E 不需要再转义
PCRE流派
工具:grep -P, sed -P, 目前主流的编程语言
特点:\d\w\s式它显著的标识
常见的语言都基于PCRE流派的