这个例子将验证出此地址为正确格式。现在让我们来看看这段正则表达式所代表的各种规则。
PCRE顾名思义,与在Perl中的正则表达式有相同的语法,所以每段正则表达式必须要有一对定界符。我们一般使用/为定界符。
开头的^和结尾的$让PHP从字符串开头检查到结尾。假使没有$,程序仍会匹配到的末尾。
[和]被用来限制许可输入类型。例如a-z允许所有的小写字母,A-Z允许所有的大写字母,0-9所有数字,等等,以及更多其他类型。
{和}被用来限制期望的字符数。例如{2,4}表示字符串的每一节可以有2-4字符长度,像是或。在这里,.并不算一个字符,因为{2,4}之前定义的许可输入类型只有大小写字母,故此段只匹配大小写字母
(和)被用来合并小节,并定义字符串中必须存在的字符。(a|b|c)能够匹配a或b或c。
(.)将匹配所有字符,而[.]只匹配.本身。
要使用一些符号本身,必须在前增加一个。这些字符有:()[].*?+^|$
规则替换
允许你替换字符串中匹配到你定义的正则表达式。一个简单的注释移除功能:
('[(/*)+.+(*/)]','',$val);
这段代码可以移除在PHP和CSS中使用/*注释*/格式的多多行注释。其中的三个参数分别为正则表达式,要替换成的字符串和要替换的目标字符串(这里要做移除功能,所以是个空白字符串-'')。如果你想匹配次级规则,可以使用$0代表全部匹配,$1、$2等,以此类推代表分别的次级规则。
规则分割
可以将整段字符串按匹配到的正则表达式分割成1、2或更多字符的多段。比如获取标签,无论是用空格还是逗号分隔的: