简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。
在某个Linux网站上面有这样的话:“如果你问一下Linux爱好者最喜欢什么,他可能会回答正则表达式;如果你问他最害怕什么,除了繁琐的安装配置外他肯定会说正则表达式。” 摘自http://www.9headbird.com/pages/article/2001/06/03/21350.htm
网上有很多相关信息,可以去查一查
在某个Linux网站上面有这样的话:“如果你问一下Linux爱好者最喜欢什么,他可能会回答正则表达式;如果你问他最害怕什么,除了繁琐的安装配置外他肯定会说正则表达式。” 摘自http://www.9headbird.com/pages/article/2001/06/03/21350.htm
网上有很多相关信息,可以去查一查
分隔符可以是除了特殊字符以外的任何字符(比如“/ !”等等),常用的分隔符是“/”。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组成,比如“[a-z0-9_-]+@[a-z0-9_-.]+”可以匹配一个简单的电子邮件字符串。修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子:
/hello.+?hello/is
上面的正则表达式“/”就是分隔符,两个“/”之间的就是表达式,第二个“/”后面的字符串“is”就是修饰符。
在表达式中如果含有分隔符,那么就需要使用转义符号“”,比如“/hello.+?/hello/is”。转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构成的特殊字符都需要“”来转义,比如“d”代表全体数字。 摘自相同网址
(1)ε和Φ是∑上的正则表达式,他们所表达的正则集分别为{ε}和{Φ};
(2)对任一a属于∑上的正则表达式,它所表达的正则集为{a};
(3)如果R和S是∑上的正则表达失,它所表达的正则集分别为L(R)和L(S),则
(R|S)也是∑上的正则表达式,它所表示的正则集为L(R)∪L(S)
(R*S)也是∑上的正则表达式,它所表示的正则集为L(R)L(S);
(R)*也是∑上的正则表达式,它所表示的正则集为(L(R))*; (*表示取反)
(4)仅有限次使用(1)、(2)、(3)得到的表达式,是∑上的正则表达式,它所表示的集合是∑上的正则集.凭记忆回忆出来的,望编译高手指点。