PHP常用正则表达式

作者&投稿:邗的 (若有异议请与网页底部的电邮联系)
~ PHP常用正则表达式很多人还不知道,现在让我们一起来看看吧!
PHP常用正则表达式
  header("Content-Type:text/html;charset=utf-8"),这一句一般都是用于设置页面的字符集,防止出现乱码,虽然跟本节没多大关系,但也可以当作基础知识。
  //匹配英文域名网址:http,https。域名中没有下划线,后缀为字母
  1
  2
  3
  $preg = '/^(https?://)?([a-zd.-]+).([a-z]+)$/i';
  $str = 'www.liqingbo.cn';
  echo preg_match($preg, $str);
  //匹配url
  1
  2
  3
  $preg = '/^([a-z]+)://([^s]*)/i';
  $str = 'http://blog.liqingbo.cn';
  echo preg_match($preg, $str);
  //匹配IP地址
  1
  2
  3
  $preg = '/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';
  $str = '255.255.255.250';
  echo preg_match($preg, $str);
  //匹配一个html标签
  1
  2
  3
  4
  $preg = '/^<([a-z]+)([^<]+)*(?:>(.*)</1>|s+/>)$/';
  $str = '<a href="http://www.icaigen.com">菜根网</a>';
  $res = preg_match_all($preg, $str, $matches);
  var_dump($matches);
  //从一段html中提取一张图片
  1
  2
  3
  4
  5
  $preg = '/<img[^>]+(src="([^"<>']+)"|src='([^"<>']+)')[^<>]*>/';
  $html = '<div><a href="http://baidu.com"><img src="http://baidu.com/src/img0.gif" /><img src="http://baidu.com/src/img1.gif" /></a></div>';
  $res = preg_match_all($preg, $html, $matches, PREG_PATTERN_ORDER);
  //var_dump($matches);
  echo $matches[2][0]; //src
  //匹配电子邮箱
  1
  2
  3
  $preg = '/^([a-z0-9_.-]+)@([a-z0-9.-]+).([a-z]+)$/i';
  $str = 'jeddy_liu-jin@gmail.com';
  echo preg_match($preg, $str);
  //匹配密码
  1
  2
  3
  $preg = '/^[a-z0-9@_.-]{6,18}$/';
  $str = 'liujin@1234.com';
  echo preg_match($preg, $str);
  //匹配用户名
  1
  2
  3
  $preg = '/^[a-z0-9_-]{3,16}$/';
  $str = 'liujin-88';
  echo preg_match($preg, $str);
  //国内座机
  1
  2
  3
  $preg = '/^(0d{2,3})-?(d{7,8})$/';
  $str = '015-5415488';
  echo preg_match($preg, $str);
  //国内手机
  1
  2
  3
  $preg = '/^1[3|4|5|8]d{9}$/';
  $str = '18012345678';
  echo preg_match($preg, $str);
  //匹配邮编
  1
  2
  3
  $preg = '/^[1-9]d{5}$/';
  $str = '415000';
  echo preg_match($preg, $str);
  //匹配身份证号
  1
  2
  3
  $preg = '/(^d{15}$)|(^d{18}$)/';
  $str = '430701198806520';
  echo preg_match($preg, $str);
  //匹配汉字
  1
  2
  3
  4
  $preg = '/^[x{4e00}-x{9fa5}]+$/u';
  $str = 'PHP博客';
  preg_match($preg, $str, $match);
  var_dump($match);

php 中支持正则的方法有哪一些?
答:匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41"匹配"A"。"\x041"则等价于"\x04&1"。正则表达式中可以使用ASCII编码。.\num 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1"匹配两个连续的相同字符。\n 标识一个八进制转义值或一...

PHP正则表达式的使用技巧
答:PHP正则表达式的定义 用于描述字符排列和匹配模式的一种语法规则 它主要用于字符串的模式分割 匹配 查找及替换操作 PHP中的正则函数 PHP中有两套正则函数 两者功能差不多 分别为 一套是由PCRE(Perl Compatible Regular Expression)库提供的 使用 preg_ 为前缀命名的函数 一套由POSIX(Portable Operating ...

正则表达式 PHP
答:建议解决方式:使用如下正则以及判断 str="5aaaaa";ret=preg_match("/^(\d)(\w)\\2*$/",$str,$phones);if($ret==1){ if($phones[1]==strlen($phones[0])-1){ echo('true');} else { echo('false1');} } else { echo('false2');} 说明:先用正则表达式/^(\d)(\w)\\...

thinkphp验证器正则常用规则
答:附上一些表单验证中比较常用的正则表达式写法:匹配特定字符串:限定符 限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。正则表达式的限定符有:ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function、 ...

php正则 匹配 数字0-10
答:匹配数字0-10的php正则表达式 ^([0-9]|10)完整的php程序如下 <?php$str="10"; $regex="/^([0-9]|10)$/"; if (preg_match($regex,$str)){ print_r("匹配"); }else{ print_r("不匹配"); }?>运行结果匹配

php正则表达式
答:在前面的正则匹配成功后立即用剩余的表达式部分继续匹配后面的内容,如果匹配成功会立刻返回匹配成功,不会继续回溯(php的正则表达式引擎室正则导向的)。里面的(.*)是怎么找得?有具贪婪性会向后匹配到.可以匹配的最大长度的字符串,最初匹配到-2011-2012,然后因为回溯不断减少匹配的值,直到匹配-201...

求一条php做的正则表达式
答:2 什么是正则表达式:简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术...

php 正则表达式
答:^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+ ^http://(www.)?\S+\.\S+ \d{11} ^ ^.* ^ ((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))^[a-Z][_a-Z]{4...

该正则表达式,用于过滤掉什么内容呢?:"\\([^()]*\\)"; (PHP)
答:是指提取括号包裹的内容。以下是我搜集的正则表达式应用及方法,希望对你有用。匹配中文字符的正则表达式:[\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空白行的正则表达式:\n\s*\r 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 匹配首尾空白字符的...

PHP 正侧表达式问题
答:1./^a[a-z]*a$/ 2./^a[a-z]*(a|\/)$/ 3./^[1-9](\d*)/ 4./^[1-9]?(\d*)[02468]$/ 不知道写的对不对,你在看看吧