💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# 正则表达式 https://tool.oschina.net/regex可以在这个网站测试 ## PHP的边界符可以自定义 除了//之外可以自定义任何付号 ``` \d匹配表示任何一个数字 \D匹配除了数字以为的任何字符 \w 匹配大写的A-Z与0-9包括下划线 \W 匹配除了(大写的A-Z与0-9包括下划线)这个些以外的。 \s 匹配任意空白空格 \S 匹配除了空格之外的 \n 匹配换行符 \t 匹配制表符 ``` ## ------------原子表-------- ``` [abc] //其中只要有abc就能成功 ^ 匹配除了 什么什么以外(反义符主要必须用到[]里才算,不然就是以什么什么开始了) [abc] 匹配括号里的字符 [a-zA-Z] 匹配a-全部字符 [^a-z]匹配不是a-z的字母^非 preg_split()拆分函数 ``` ## ---------原子组------- ``` () 里面的字符必须一模一样才能匹配 ^限定开始 $限定结尾 {n}匹配固定次数 {m,n} 限定次数 . 点可以匹配除换行以外的所有字符。 ?尽可能匹配1次,也可也不匹配,相当于{0,1} + 尽可能多次匹配,至少匹配1次,相当于{1,} * 尽可能多匹配,最少可以不匹配,相当于{0,} ``` ## ## 其他常用的字符 ``` 使用 | 竖线 分割多段表达式,整个表达式可匹配其中任意一段 用括号进行分组() (可以分成好几种也就是与运算符&&一样) 转义 \ ``` ## 常用的几种匹配正则 ``` 匹配用户名长度6-12数字字母下划线:^\w{6,12}$ 匹配手机号码 : ^1[3|4|5|6|7|8](\d{{9})$ ^1([3-9])([0-9]{9})$ 匹配QQ号: ^[\d]{4,12}$ 匹配email地址:\w+@\w+.com 匹配url地址: ^https?://\w+\.\w+\.[a=z]+$ ``` ## 正则表达式函数 ``` preg_match('正则表达式'$要匹配的字符串, $结果) :返回布尔值如果匹配到返回真匹配不到返回假 ``` `.+? 非贪婪匹配 ` ## 代码案例: ~~~ <?php $vr='2021-08-31 21:31:23 newfashion.vip 37 2021-07-29'; $bc=preg_match_all('/[\S]+/',$vr,$ys); var_dump($ys); //相差5个 echo $ys[0][2]; ~~~ # 替换字符串 ~~~ preg_replace("/正则表达式/","被替换的内容","要替换的字符串"); ~~~