经常使用的正则表达式其实很简单,并且应用范围很广,这里作最经常使用的正则表达式的语法整理。
特殊符号使用类:
^ $(开头和结尾) 完成的检测一个字符串是否符合要求,通常用来校验输入字符串的正确性
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-]+)+ 这段和前面差很少,最少匹配到一个.的字符串
应用场景:用户注册的时候判断其是否是合法的邮箱,采集使用,采集用户的邮箱,进行对应的储存
函数