多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# PHP的正则表达式函数 preg_match preg_meatch_all preg_grep preg_filter preg_split preg_quote # 正则表达式 * **界定符** * **原子** * **量词** * **边界控制** * **模式单元** * * * * * ## 界定符 **解释: 标识一个正则表达式的开始和结束.它告诉PHP解释器,正则表达式从哪里开始到哪里结束** **例子: /[0-9]/---- #[0-9]# ----{[0-9]}** 备注:在PHP中,"/", "{", "#" 都可以作为界定符, 不推荐使用 "{" * * * * * ## 正则表达式验证工具 **regexpal** 地址:[http://regexpal.isbadguy.com/](http://regexpal.isbadguy.com/) * * * * * ## 原子(最小匹配单位) * **可见原子: unicode编码表中用键盘输出后肉眼可见的字符** 包括: 标点符号 , ; ? 等等 英文字母数字 a-z A-Z 0-9 汉字,日文,阿拉伯文等其他语言文字 数理化公式符号 其他可见的字符 * **不可见原子: unicode编码表中用键盘输出后肉眼不可见的字符** 包括: 空格,tab制表符(\t),换行(\n)等 * * * * * ## 元字符 * 定义原子的筛选方式 | 匹配两个或多个分支选择 [] 匹配方括号中的任意一个原子, 区间功能:[a-z][A-Z][0-9][0-3] [^]匹配除了方括号中的原子之外的人任意字符 例子: 匹配Duang~和duang~ 1. Duang~|duang~ 2. [Dd]uang~ 匹配789 1. [789] 匹配飞789 1.[^789] * 定义原子的集合(这类元字符写法固定) .             匹配除换行符以外的任意字符 \w             匹配字母或数字或下划线或汉字[a-zA-Z0-9_] \s             匹配任意的不可见原子[\f\n\r\t\v] \d             匹配数字[0-9] \b             匹配单词的开始或结束 ^             匹配行的开始 $             匹配行的结束 \W      匹配任意不是字母,数字,下划线,汉字的字符[^a-zA-Z0-9_] \S       匹配任意可见原子[^\f\n\r\t\v] \D      匹配任意非数字的字符[^0-9] \B       匹配不是单词开头或结束的位置 [^x]      匹配除了x以外的任意字符 [^aeiou]   匹配除了aeiou这几个字母以外的任意字符 * * * * * ## 量词 {n} 标识其前面的原子恰好出现n次 {n,} 标识其前面的原子最少出现n次 {n,m} 标识其前面的原子最少出现n次,最多出现m次 * \* 匹配0次,1次或者多次其之前出现的原子 {0,} * + 匹配1次或者多次其之前出现的原子 {1,} * ? 匹配0次或者1次其之前出现的原子 {0,1} ## 边界控制 ^ 匹配字符串开始的位置 $ 匹配字符串结尾的位置 ## 模式单元 () 匹配其中的整体为一个原子 ## 修正模式 解释:给正则表达式的匹配过程指定一种匹配模式 分为: 贪婪模式: 匹配结果出现起义时候取其长(默认是贪婪模式) 懒惰模式: 匹配结果出现起义时候取其短(懒惰模式使用:U) 例子: /[099]/U 忽略大小写: i 忽略空白: x 让元字符"."匹配包括换行符在内的所有字符: s 总模式: 每一个pattern可以看作一个总模式 子模式: pattern中每一个模式单元(...)称为子模式