15超简单的自学PHP笔记之正则表达式

一、正则表达式介绍

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法,是计算机科学的一个概念。

顾名思义,正则表达式是符合一定规则的表达式,是用于匹配字符串中字符组合的模式,是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很对文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

正则表达式的设计思想就是使用一些描述性的符号和文字,为字符串定义一个规则。凡是符合这个规则的,程序就认为文本是“匹配”的,否则就认为文本是“不匹配”的。正则表达式的匹配过程,通俗的讲,就是逐字匹配表达式的描述规则,如果每个字符都匹配,那么程序就认为匹配成功,只要有一个匹配不成功,那么匹配就失败。

二、正则表达式中的定界符

所谓定界符就是定一个边界,边界以内的就是正则表达式。

PHP的正则表达式定界符的规定如下:

定界符,不能用a-zA-Z0-9\其他的都可以用。必须成对出现,有开始就有结束。

三、正则表达式中的原子

1、原子

原子是正则表达式里面的最小单位,原子说白了就是需要匹配的内容。一个成立的正则表达式当中必须最少要有一个原子。

所有可见不可见的字符就是原子

注:我们见到的空格、回车、换行、0-9、A-Za-z、中文、标点符号、特殊符号全为原子。

2、特殊标志的原子

四、正则表达式中的元字符

新的需求:\d代表匹配一个字符。而我现在想要匹配十个八个,任意多个数字肿么办?

这个时候我们就要用到元字符。在使用原子的时候,发现只能够匹配一个字符,可是要匹配多个字符就出现了问题。

这个时候,我们需要借助元字符来帮我们修饰原子,实现更多的功能。

五、正则表达式中的模式修正符

如果abc在第二行的开始处如何匹配?

我不希望正则表达式特别贪婪的匹配全部,只匹配一部分怎么办?

这个时候,我们就需要用到下面的这些模式匹配来增强正则的功能。

正则的诀窍:写一点、测一点。

因为,我们需要不断的正则,用preg_match对比是不是能匹配成功。成功了,再写后面的一点。直到写完,全部匹配成功为止!




转载请注明:http://www.aierlanlan.com/rzdk/2230.html