您的位置:首页 > 编程语言 > PHP开发

PHP中关于正则的一些小笔记

2017-12-14 09:14 381 查看
正则是很多程序员入门最头疼的,我之前也是

在2011年之前,当时看着正则完全就是蒙的,于是写正则这样的任务全部扔给了浪浪来做...

事过这么多年,正则越用越顺手了

于是简单的记录一下常用的

前言

1.界定符

2.原子

3.元字符

4.修正符

界定符

界定符正如其名,就是定一个边界,边界已内的就是正则表达示。

必须成对出现,有开始就有结束。不能用a-zA-Z0-9\

举些粟子:

/中间写正则/    正确
$中间写正则$    正确
%中间写正则%    正确
^中间写正则^    正确
@中间写正则@    正确
(中间写正则)    错误
A中间写正则A    错误

特别注意\是转义字符,如果在以后正则表达示里面需要匹配/,则是/\//

原子

原子说白了就是需要匹配的内容。一个成立的正则表达示当中必须最少要有一个原子。

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

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

这儿说下几个特殊标识的原子

\d    匹配一个0-9
\D    除了0-9以外的所有字符
\w    a-zA-Z0-9_
\W    除了0-9A-Za-z_以外的所有字符
\s    匹配所有空白字符\n \t \r 空格
\S    匹配所有非空白字符
[ ]    指定范围的原子

这几个必须要记住,最好达到默写级别。记忆的时候成对记忆,\d是匹配一个0-9,那么\D 就是除了0-9以外的所有字符。

上面这几个特殊的你要不嫌麻烦,等价如下

\w    [a-zA-Z0-9_]
\W    [^a-zA-Z0-9_]
\d    [0-9]
\D    [^0-9]
\s    [ \t\n\f\r]
\S    [^ \t\n\f\r]

元字符

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

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

元字符及功能说明

*    是代表匹配前面的一个原子,匹配0次或者任意多次前面的字符。
+    匹配一次或多次前面的一个字符
?    前面的字符可有可无【可选】 有或没有
.    更标准一些应该把点算作原子。匹配除了\n以外的所有字符
|    或者。注:它的优先级最低了。
^    必须要以抑扬符之后的字符串开始
$    必须要以$之前的字符结尾
\b    词边界
\B    非边界
{m}    有且只能出现m次
{n,m}    可以出现n到m次
{m,}    至少m次,最大次数不限制
()    改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它

修正符

写在界定符末尾,例如
/\w+/s


i    模式中的字符将同时匹配大小写字母.简称:不区分大小写
m    字符串视为多行
s    将字符串视为单行,换行符作为普通字符.
x    将模式中的空白忽略.
A    强制仅从目标字符串的开头开始匹配.
D    模式中的美元元字符仅匹配目标字符串的结尾.
U    匹配最近的字符串.

例子后期慢慢加...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: