PHP 正则表达式

正则手册:https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

匹配中文

$str = "给你们推荐两本书,都是大咖写的。《围城》<a href='#'>《时间简史》</a>";
preg_match_all('/[^\x00-\xff]/u',$str,$match);  //除了ASCII表中的其它全匹配
preg_match_all("/[\x{4e00}-\x{9fa5}]/u",$str,$match); //只匹配中文不含有特俗符号 比如,。;:
preg_match_all('/<span[^>]*>\d<\/span>/',$str,$match);  //匹配单独的一个html标签
//trim() 无法清除特俗的空格  比如中文空格 可以使用正则表达式替换
preg_replace("/\s*$/u","",$v);  //替换右侧空格
preg_replace("/^\s*/u","",$v);  //替换左侧空格
//匹配中文大写日期
preg_match('/^[一二三四五六七八九零〇○]{2,4}年[一二三四五六七八九十]{1,2}月[一二三四五六七八九十廿]{1,3}日$/u',$v);

修饰符

"/regexp/i"  //不区分大小写的匹配
"/regexp/s" //使句点( . )匹配任何字符,包括换行符( )
"/regexp/x"  //从模式中删除空白符和注释
"/regexp/m"  //使 ^ 匹配换行符 ( )之后的内容,美元符号($)匹配换行符 ( )之前的内容
"/regexp/e"  //如果替换字符串是PHP代码,使用eval()执行该代码来得到实际的替换字符串。
"/regexp/U"  //颠倒子模式的贪婪性; * 和 + 尽可能少地匹配而不是尽可能多。
"/regexp/u"  //把模式字符串当作UTF - 8编码对待
"/regexp/X"  //如果一个反斜杠之后跟着没有特殊意义的字符,将产生一个错误
"/regexp/A"  //把锚定位在字符串的开头就像模式中有 ^ 一样
"/regexp/D"  //使 $字符仅匹配一行的末尾
"/regexp/S"  //使表达式解析器更加小心地检查模式的结构,使得第二次运行时(如在一个循环中)加快速度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容