文章教程

6.7高手私房菜

9/17/2020 9:40:31 PM 人评论 次浏览

6.7 高手私房菜

技巧1:模式修饰符、单词界定符和方括号“[]”连用,而是和“/”在一起使用?

在PHP的正则表达式的语法当中,一种是POSIX语法,一种是Perl语法。POSIX语法是先前所介绍的语法。Perl语法则不同于POSIX语法。Perl语法的正则表达是以“/”开头和以“/”结尾的,如“/name/”便是一个Perl语法形式的正则表达。

模式修饰符,则是在Perl语法正则表示中的内容。比如“i”表示正则表达式对大小写不敏感。“g”表示找到所有匹配字符。“m”表示把目标字符串作为多行字符串进行处理。“s”把目标字符串作为单行字符串进行处理,忽略其中的换行符。“x”表示忽略正则表达式中的空格和备注。“u”表示在首次配后停止。

单词界定符,也是Perl语法正则表示中的内容。不同的单词界定符表示不同的字符界定范围。例如,以下单词界定符的表示意义为:

“\A”表示仅仅匹配字符串的开头。“\b”表示匹配到单词边界。“\B”表示除了单词边界,匹配所有。“\d”表示匹配所有数字字符,等同于“[0-9]”。“\D”表示匹配所有非数字字符。“\s”表示匹配空格字符。“\S”表示匹配非空格字符。“\w”表示匹配字符串如同“[a-zA-Z0-9_]”。“\W”为匹配字符,忽略下划线和字母数字字符。

技巧2:支持Perl语法形式的正则表达式有哪些?

PHP为Perl语法的正则表达方式提供了如下函数:

preg_grep():用来搜索一个数组中的所有数组元素,以得到匹配元素。

preg_match():以特定模式匹配目标字符串。

preg_match_all():以特定模式匹配目标字符串,并且把匹配元素作为元素返回给一个特定数组。

preg_quote():在每一个正则表达式的特殊字符前插入一个反斜杠“\”。

preg_replace():替代所有符合正则表达式格式的字符,并返回按照要求修改的结果。

preg_replace_callback():以键值替代所有符合正则表达式格式字符的键名。

preg_split():按照正则模型切分字符串。

教程类别