正则表达式
正则表达式,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
如在注册时需要输入一个邮箱的地址或者手机号码,这时候就需要使用正则表达式来匹配,检查输入的邮箱地址或手机号码是否正确。
正则表达式的主要作用:分割、匹配、查找、替换
PHP中两个常用的正则函数
1、preg_match(string pattern, string subject, array [matches]);
以 pattern 的规则来解析比对字符串 subject。比对结果返回的值放在数组参数 matches 之中,matches[0] 内容就是原字符串 subject、matches[1] 为第一个合乎规则的字符串、matches[2] 就是第二个合乎规则的字符串,余类推。若省略参数 matches,则只是单纯地比对,找到则返回值为 true。
2、ereg(string pattern, string string, array [regs]);
本函数以 pattern 的规则来解析比对字符串 string。比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。
两者的使用效果都是差不多的。
正则表达式中包括的元素
1、原子(普通字符:a-z A-Z 0-9 、原子表、 转义字符)
2、元字符 (有特殊功能的字符)
3、模式修正符 (系统内置部分字符 i 、m、S、U…)
正则表达式中的原子
1、a-z A-Z _ 0-9 //最常见的字符
2、(abc) (skd) //用圆括号包含起来的单元符合
3、[abcs] [^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
4、转义字符
\d 包含所有数字[0-9]
\D 除所有数字外[^0-9]
\w 包含所有英文字符[a-zA-Z_0-9]
\W 除所有英文字符外[^a-zA-Z_0-9] \s 包含空白区域如回车、换行、分页等 [\f\n\r]