## 1、通用原子: 1) \d: 0-9 2) \D: 除了0-9 3) \w: 数字、字母、下划线 4) \W: 除了数字、字母、下划线 5) \s: 空白符 6) \S: 除了空白符 ## 2、元字符: 1). : 除了 换行符 之外的任意符 2)*: 出现0次、1次或者多次 3)? : 出现0或1次 4) ^ : 必须以其开头 5) $ : 必须以其结尾 6) + : 出现1次或多次 7) {n} : 恰巧出现n次 8) {n,} : >= n次 9) {n, m} : n <= 出现次数 <= m 10) [] : 集合【如:[abc] 表示匹配 a或b或c】 11) ():互相引用,即匹配一个整体【如:(abc) 表示同时匹配abc】 12) [^] : 取反【如:[^abc] 表示除了a/b/c】 13) | : 或者 14) [-] : 匹配一个范围【如:[0-9] 表示匹配0-9】 ## 3、模式修正符: 1) i : 不区分大小写 2) m : 将字符串通过分隔符进行分割【即将字符串中的每一行分别进行匹配】 3) e : 在进行 preg_replace时,可以将匹配的内容进行PHP语法的处理【PHP7.0起废除】 4) s : 修正圆点元字符(.)和换行 5) U : 取消贪婪模式 6) x : 忽略模式中的空白符 7) A : 必须以该模式开头 8) D : 修正 $对\n的忽略 9) u : 当进行uft-8中文匹配的使用,可以使用 ## 4、验证 139手机号码的正则表达式。 ``` // 13988888888 $str = '13988888888'; $pattern = '/^139\d{8}$/'; preg_match($pattern, $str, $match); var_dump($match); ``` ## 5、正则表达式,取出页面中所有 img标签 中的 src值。 ``` $str = '<img alt="狗狗" id="dog" src="dog.jpg" />'; $pattern = '/<img.*?src="(.*?)".*?\/?>/i'; preg_match($pattern, $str, $match); var_dump($match); ```