PHP-正则表达式

PHP中内含两种库的正则表达式,这里我用的是perl的。

正则表达式的组成


主要由“定界符+模式+定界符”组成
模式又由原子(必须的)、元字符、模式修正符,组成。

原子:

1.正常的字符,0-9、a-zA-Z。
2.特殊字符,就是非正常字符的都是,用的时候记得加上反斜杠\。
3.打印字符,\n换行 \r回车 \t制表。
4.通用字符,
\d : [0-9]
\D : [^0-9]
\s : 空字符
\S : 非空字符
\w : [0-9a-zA-Z_]
\W : [^0-9a-zA-Z_]
5.自制类原子[]

元字符:

他在模式中存在一种特殊的含义
*:重复前面的原子0次1次或多次。
+:前面的原子至少重复1次。
?:前面的原子重复0次or1次。
{n}:前面的原子重复n次。
{n,}:前面的原子至少重复n次。
{n,m}:前面的原子重复n到m次。
|:模式选择符,例:/lnmp|lamp/i;
.:代表任意一个字符,除了换行外。
^:开头。
$:结尾。
[^]:除了里面的之外。
():大原子。

模式修正符

i:不区分大小写。
s:.也可以匹配任意字符。
m:可以将一行字符当成多行处理。

后向引用

就是大原子的内容是可以被引用的,省的你在写一次。
引用的话呢,就是写\{这里换成从左往右数的第某个大原子}
具体使用:
$pattern = '/\d{4}([\W])\d{2}\1\d{2}/';

函数


preg_match();
preg_match_all();
preg_grep();

你可能感兴趣的:(PHP-正则表达式)