复习PHP基础(正则表达式)

1.定界符

(1).规定:定界符不能用a-zA-Z0-9\其它的都可以用。定界符必须成对出现,有开始就有结束。
(2).正确的定界符例子:// $$ %% ^^ @@,注意,不能用()做定界符。
(3).\是转义字符,若在正则表达式里需匹配符号/可在该符号/前面加上\转义一下,例:///,也可把定界符/修改为#,例:#/#。


2.正则匹配函数,例:

preg_match($正则变量名, $字符串, $数组形式的结果);

若匹配到了,该函数会把结果放在第三个参数里(数组形式),没有匹配到则返回0。


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

(1).特殊标识的原子:
\d为匹配一个0-9 \D反之;
\w为匹配a-zA-Z0-9_ \W反之;
\s为匹配所有空白字符\n\t\r空格 \S反之
[]为匹配指定范围的原子,如:[0-5]。
(2).[^字符]为不匹配指定区间的字符。


4.元字符——实现匹配多个字符

元字符 作用
* 匹配前一个原子0次或任意多次
+ 匹配前一个字符一次或多次
? 前面的字符可有可无
. 匹配除了\n以外的所有字符
| 或者
^ 抑扬符
$ 必须要以$之前的字符结尾
\b 词边界,前面的字符必须在最前或最后
\B 非边界
{m} 前面的字符有且只能出现m次
{n,m} 前面的字符可出现n到m次
{m,} 前面的字符至少出现m次
() 改变优先级或将某个字符串视为一个整体

5.模式匹配符——增强正则的功能

(1).用法:/正则表达式/模式匹配符
(2).常用的模式匹配符:

模式匹配符 功能
i 待匹配的字符串不区分大小写
m 待匹配的字符串视为多行
s 将待匹配的字符串视为单行,换行符作为普通字符
x 将正则表达式中的空白忽略
A 强制仅从目标字符串的开头开始匹配
D 正则表达式中的$符仅匹配目标字符串的结尾,防止目标字符串的结尾有回车
U 匹配最近的字符串,避免了正则的贪婪模式(正则是只要符合的都会匹配)

6.常用的正则函数

函数名 功能
preg_filter 执行一个正则表达式搜索和替换
preg_grep 返回匹配模式的数组条目
preg_match 执行一个正则表达式匹配
preg_match_all 执行一个全局正则表达式匹配
preg_replace 执行一个正则表达式的搜索和替换
preg_replace_callback 执行一个正则表达式搜索并使用一个回调进行替换
preg_replace_callback_array 传入数组,执行一个正则表达式搜索并使用一个回调进行替换
preg_split 通过一个正则表达式分割字符串

总的来说,正则表达式(模式匹配)感觉就是一个熟能生巧的活,要多练,像匹配邮箱、匹配手机号、匹配网址、写一个采集器都可以。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 正则表达式介绍 正则表达式简介 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、...
    dptms阅读 11,110评论 1赞 9
  • 概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语...
    醉于麦田阅读 568评论 0赞 0
  • 1. 正则表达式 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular...
    xiangang阅读 822评论 0赞 3
  • PHP常用正则表达式汇总 正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正...
    DragonRat阅读 1,522评论 0赞 4
  • 关于PCRE的介绍以及实现正则表达式功能的所有说明,都可以在官方手册中看到:正则表达式(兼容 Perl) 一、认识...
    拿破仑蛋糕阅读 1,665评论 0赞 1

友情链接更多精彩内容