您现在的位置是:技术博客 > PHPPHP 正则的快速上手 Lucas2019-04-28 14:59【代码】1254人已围观 简介正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。 #### 一、php正则函数 preg_match 用于验证字符串是否符合某一规则,符合返回1,不符合返回0 ``` // 语法 # int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) # 举例如下: if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串 php。"; } else { echo "未发现匹配的字符串 php。"; } ``` #### 二、php正则函数 preg_replace 执行一个正则表达式的搜索和替换 ``` // 语法 # mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) # 举例如下: $string = 'April 15, 2003' ; $pattern = '/(\w+) (\d+), (\d+)/i' ; $replacement = '${1}1,$3' ; echo preg_replace ( $pattern , $replacement , $string ); ``` #### 三、常用案例 preg_match相关案例,详情<a href="https://www.cnblogs.com/cjymuyang/p/9869581.html" target='_blank'>点此</a>查看。 ``` # 判断是否全为数字 ^[0-9]*$ 例如:preg_match("/^[0-9]*$","xxxxx") # 判断是否全为小写字母 ^[a-z]+$ 例如:preg_match("/^[a-z]+$","xxxxx") # 判断是否全为字母加数字的组合 ^[A-Za-z0-9]+$ 例如:preg_match("/^[A-Za-z0-9]+$","xxxxx") # 判断是否是日期格式 ^\d{4}-\d{1,2}-\d{1,2} # 判断是否是日期格式 ^\d{4}-\d{1,2}-\d{1,2} # 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ # 禁止输入含有~的字符 [^~\x22]+ # 首尾空白字符的正则表达式:(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式) ^\s*|\s*$或(^\s*)|(\s*$) # IP地址 \d+\.\d+\.\d+\.\d+ # 非负整数: ^\d+$ 或 ^[1-9]\d*|0$ # 非正整数: ^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ # 判断是否为数字字母汉字的组合: /^[\x{4e00}-\x{9fa5}A-Za-z0-9]+$/u 例如:preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9]+$/u","xxxxx") ``` #### 四、案例解析 1、验证文件名不能包含下列任何字符:\/:*?"<>| 提示:中文?“:可以被允许 ``` '/(\\\)|(\\*)|(\\:)|(\\?)|(\\")|(\\<)|(\\>)|(\\|)/' ``` 解析:头尾的/ 和 \ 表示从字符串头到尾匹配,()包裹的是匹配语句,| 表示左右字符串配置相当于逻辑或,即表示,任意一个字句匹配到,即为匹配成功。例如第一个()中的匹配语句为 \\\ ,第一个\表示匹配规则为特殊字符,第二个\是对特殊字符\的转义。另外,上面的匹配式中的()都可以去掉。 转载:感谢您对Lucas个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源Lucas个人博客”。 很赞哦! ( 10 ) 上一篇:TP5.1关联模型查询 下一篇:WAMP环境搭建 相关文章 高并发库存防控超量 Swoole 基础篇一(初识) Sublime代码格式化 Session与Cookie 点击排行 生活不止眼前的苟且,还有诗和远方 十年一觉电影梦 奥地利基茨比厄尔 禅修治愈身心 自律成就自我 零边际成本社会 Modern PHP 鸟哥的Linux私房菜 本栏推荐 要技术,更要有创意 定时任务 Curl无法发送https请求 Lnmp环境搭建 常用的SQL函数 Windows的cmd指令 ueditor工具栏浮动bug 有趣的js插件 标签云 git laravel swoole javascript vue ajax html css sql linux docker flask django nginx apache thinkphp markdown sublime wechat layui photoshop nodejs mysql windows composer java maven springboot mybatis IDE 猜你喜欢 Swoole 基础篇一(初识) PHP进程管理器 正则的快速上手 Sublime代码格式化 Lnmp环境搭建 高并发库存防控超量 Linux之top命令 常用的SQL函数 站点信息 建站时间:2018-05-01 在线人数:1人 文章统计:263篇 总浏览量:222639次 统计数据:百度统计 个人信息:扫描二维码查看