企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
~~~ [abc] ~~~ >匹配一个字符a或者b或者c ~~~ [a-z0-9A-Z_] ~~~ >匹配到任意数字或字母或下划线 ~~~ [^0-9a-zA-Z_] ~~~ >任意一个非数字或字母或下划线开头 ~~~ [0-9a-zA-Z]{5} ~~~ >任意5个数字或字母 ~~~ [0-9a-zA-Z]{5,} ~~~ >任意5个数字或字母以上 ~~~ [0-9a-zA-Z]{5,15} ~~~ >任意5到15个之间的数字或字母 ~~~ ^[0-9] ~~~ >任意数字开头 ~~~ [0-9]$ ~~~ >任意数字结尾 ~~~ ^[0-9]{11}$ ~~~ >一个数字开头并结尾(精准匹配) ~~~ ? ~~~ >表示前面的数量0次或者1次(可有可无) ~~~ -?[0-9]{1,} ~~~ >任意正负数 ~~~ * ~~~ >表示前面数量任意次 相当于{0,} ~~~ + ~~~ >表示前面数量至少1次 相当于{1,} ~~~ -?[0-9]+ ~~~ >任意正负数必须有一个 ~~~ . ~~~ >表示除了换行之外的任意字符 ~~~ () ~~~ >具有子存储功能 ## if判断正则表达式 ~~~ if(preg_match('/[0-9]{3}/',$str)){ } ~~~ ## 匹配查找 ~~~ preg_match('正则',$str,$a); var_dump($a); ~~~ >只匹配一次 ~~~ preg_match_all('正则',$str,$a); var_dump($a); ~~~ >匹配多次 # 贪婪模式 ~~~ $str = "<b>AAAAA</b><b>BBBBBB</b><b>CCCCC</b>"; preg_match_all('/<b>.+<\/b>/',$str,$a); var_dump($a); ~~~ >匹配字符串中b标签的内容 ~~~ $str = "<b>AAAAA</b><b>BBBBBB</b><b>CCCCC</b>"; preg_match_all('/<b>.+<\/b>/U',$str,$a); var_dump($a); preg_match_all('/<b>.+?<\/b>/',$str,$a); var_dump($a); ~~~ >拒绝贪婪模式 ~~~ $str = "<b>AAAAA</b><b>BBBBBB</b><b>CCCCC</b>"; preg_match_all('/<b>(.+?)<\/b>/',$str,$a); var_dump($a); ~~~ >把匹配到的内容存起来 .+?或者.*? # 重复模式单元 ~~~ $a = array("2017-4-18","2017-4,18","2017,4,18","2017,4-18"); //使用正则把上面有效日期过滤出来 $b = preg_grep('/[0-9]{4}([-,])[0-9]\\1[0-9]{2}/',$a); var_dump($a); ~~~ >\\\1意思是重复前面第一个小括号匹配到的内容 ~~~ $str = "21,516;156’156.165["; preg_replace('/[^0-9]/','',$str); ~~~ >把不是数字的内容替换成空格 ~~~ $a = '2017-4-18'; preg_replace('/([0-9]{4})-([0-9])-([0-9]{2})/','\\2/\\3/\\1',$a); var_dump($a); ~~~ >将字符串2017-4-18替换为外星时间 日 月 年 18/4/2017