常用的正则表达式其实很简单,而且应用范围很广,这里做最常用的正则表达式的语法整理。
特殊符号使用类: ^ $(开头和结尾) 完成的检测一个字符串是否符合要求,一般用来校验输入字符串的正确性 cba(abc|bca)[abc] 一般用来匹配对应的字符串()表示整个字符串[]表示匹配到里面的某个 会增加一个|是选择符号 * + ? 分别表示不限次数 一次以上,0次或者1次式子 {n,m} 限定个数 另外俩个常见的特殊匹配\s(匹配空白字符).(匹配除换行符外的任何字符)贪婪匹配与贪婪匹配
<a> </a> 匹配的时候<a*?> 这样就会尽可能的减少匹配到的字符串大部分的正则表达式,上述几个已经够用。
1.匹配常见的手机号码(常见是指13 15 17 18开头的手机号)(这是非常常见的一个匹配,输入手机号码的时候需要进行匹配) ^1[3578]\d{9}$ ^表示以1开始 [3578]表示里面随便读取一个 \d匹配任意一个数字字符等价于[0-9] $匹配的结尾 配上了这个字符,就是对给出的字符串进行严格检测, PS:当没有开始符和结束符的时候,会得到多个匹配结果,如果是用preg_match_all()函数进行匹配,会把多个结果存到一个数组里面。所以正则表达式的俩个用途显现出来了:一个是对给出的字符串进行检测其是不是符合要求(preg_match($pattern,$subject)),另一个作用是读取给定的文本,把里面对应的东西搜索出来(preg_match_all($pattern,$subject,$arr)) 2.检测一个邮箱(常见类型的邮箱) [\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+ \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'[\w-]+表示最前面最少出现一次或者多次\w-里面包含的字符()匹配某个类型,里面作为一个整体进行匹配* 表示前面的匹配式子匹配0次或者多次(这个符号很容易和+搞混淆,它是可以匹配0次的)\. 匹配的是小数点 特殊字符匹配的时候都需要转义符(\.[\w-]+)* 匹配前面的小数点和字符串[\w-]+(\.[\w-]+)+ 这段和前面差不多,最少匹配到一个.的字符串 应用场景:用户注册的时候判断其是不是合法的邮箱,采集使用,采集用户的邮箱,进行对应的储存