php正则表达式原子及元子表
正规字符:abcd..等;12345..等;
模式
$mode="/dfjk/",
//"dfjk"就是原子;
$mode="/\d/",
//"\d"就是原子;
原子
\d 与任意一个数字匹配[0-9]
//模式:$mode="/\d/",
//则被匹配字符中只要包含一个数字就匹配;
//如:'dfkjweognor9g'就与模式$mode匹配;
再者://模式:$mode="/a\da/",
//则必需要两个a之间包含一个数字才匹配
//如:'dshfiefa9a'与模式匹配;
//而' dfidas9akdf'与模式不匹配;
\D 与除了数字以外的任何一个字符匹配[^0-9]
\w 与任意一个英文字母,数字或下划线匹配[a-zA-Z_]
\W 除了字母,数字或下划线外与任何一个字符匹配[^a-zA-Z_]
\s 与任意一个空白字符匹配[\n\f\r\t\v]
空白字符如下:
\f 换页字符;
\n 换行字符;
\r 回车字符;
\t 制表符;
\v 垂直制表符;
\S 与除了空白符外任意一个字符匹配[^\n\f\r\t\v]
\oNN 与任意一个8进制数匹配;
\xNN 与任意一个16进制数匹配;
\cC 与任意一个控制字符匹配;
元子表
[ ] 只匹配其中的一个原子;
模式为:$mode="/ae/";
//则字符串中必需包含ae才能匹配;
模式为:$mode="/pr[ae]y/";
//则字符串"pr*y"中"*"(星号)是a或e都可匹配;
[^] 只匹配"除了"其中字符的任意一个原子;
模式为:$mode="/pr[^ae]y/";
//与pruy,prdy,pr*y等都匹配;
//与pray和prey这两个包含a和e的不匹配;
[0-9] 匹配0-9任何一个数字;
[a-z] 匹配小写a-z任何一个字母;
[A-Z] 匹配大写A-Z任何一个字母;
?: 非捕获,只匹配不分配组
preg_match('/industr(?:ies|y)/','industries',$re); //只返回Array ([0] => industries)
preg_match('/industr(ies|y)/','industries',$re); //返回Array ([0] => industries [1] => ies )