Home >Backend Development >PHP Tutorial >初探php之正则表达式(一)基础篇

初探php之正则表达式(一)基础篇

WBOY
WBOYOriginal
2016-06-23 13:36:02848browse

正则表达式是php初学者所要面对的较为困难的一部分,时间一长往往会将各类符号的作用忘记。但是经过系统的总结后,你会发现记忆的难度其实并不是很大。

Perl是较为常见的兼容正则表达式函数,一般形式为(preg_)这也是本文主要介绍的。


学习正则无非学习 1.模式的编写
2.正则+函数 = 强大的字符处理功能。


我们先了解基础知识。
1.原子,听名字就知道为字符串的最小单位。它包括两种:
①可打印的字符,就是一般无特殊含义的字符。
②不可打印的字符,代表范围:
\d:表示任意一个十进制数字
\D:表示任意一个数字之外的字符
\s:表示任意一个空白字符
\S:表示任意一个非空白字符
\w:a-zA-Z0-9
\W:除了a-zA-Z0-9之外的任意字符
(小提示:一般也就这几个,记起来很容易,只要记得每个为其英文的缩写(d为digital、s为word、s为space其含义也十分明了啦),且大写的总是会和小写的作对)

2.自定义原子表([])
[]字符类,匹配其中任何一个原子,一个方括号仅匹配一个字符
与其相反的[^]排除字符,排除方括号中任何一个字符
[-]表示一定范围,例如:[a-z]表示a到z中任意一个字符


再了解几种常见字符。

1.定界符(确定是正则而不是普通的字符串的符号)(| / ......)
定义:除字母、数字、正斜线\之外的任何符号都为定界符号,一般用反斜线(/)表示
形如:/tm/
2.点号字符(.)
可以匹配换行符外的任意一个字符。
一个题目可以很好的诠释这种效果,写出几个以s开头,t结尾的单词。
/^s**t$/ /^s*t/ ......
3.限定符(?* + {n,m})
? :匹配前面字符0或1次
+   :匹配前面字符1或多次
*   : 匹配前面字符0或多次
{n} : 匹配前面字符n次
{n,} : 匹配前面字符最少n次
{n,m} : 匹配前面字符最少n次,最多m次
4.选择字符(|)
例如:/cat|dog/ 匹配猫或者狗
5.括号字符(())
()的功能有很多,其中有和函数一起使用时所产生的新的功能
1.提高优先级
2.作为大原子使用
3.最为子模式使用(\1取第一个子模式,\2取第二个模式...)
"\\1" '\1'


























Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn