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

正则是很多程序员入门最头疼的,我之前也是
在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   匹配最近的字符串.

例子后期慢慢加...

最后修改时间为:2017 年 06 月 27 日 05 时 59 分 AM
如果觉得我的文章对你有用,请随意赞赏

1 条评论

  1. 君哥

    不错哟,蛮适用的

发表评论