学习php中的正则表达式

语法格式:位于定界符"/"之间。

较为常用的元字符包括: “+”, “*”,以及 “?”。

其中,

  “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次,

  “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次,

  而“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

/jim{2,6}/<br/>
 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。<br/>
 在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。<br/>
 \s:用于匹配单个空格符,包括tab键和换行符;<br/>
 \S:用于匹配除单个空格符之外的所有字符;<br/>
 \d:用于匹配从0到9的数字;<br/>
 \w:用于匹配字母,数字或下划线字符;<br/>
 \W:用于匹配所有与\w不匹配的字符;<br/>
 . :用于匹配除换行符之外的所有字符。<br/>

另外:

较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。

“^”定位符规定匹配模式必须出现在目标字符串的开头,

“$”定位符规定匹配模式必须出现在目标对象的结尾,

\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一,

而“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

匹配指定某一个范围而不局限于具体的字符。例如:

/[A-Z]/
上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
/[a-z]/
上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
/[0-9]/
上述正则表达式将会与从0到9范围内任何一个数字相匹配。
/([a-z][A-Z][0-9])+/

(0)

相关推荐

  • PHP常用正则表达式集锦

    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: "^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮

  • 10个实用的PHP正则表达式汇总

    本文实例讲述了10个实用的PHP正则表达式汇总,分享给大家供大家参考.具体如下: 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符.词或算式等.但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时.本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助. 1. 验证E-mail地址 这是一个用于验证电子邮件的正则表达式.但它并不是高效.完美的解决方案.在此不推荐使用. 复制代码 代码如下: $email = "test@ansonch

  • PHP中过滤常用标签的正则表达式

    我们常常会用到PHP过滤一些标签的功能,比如过滤链接标签.过滤script标签等等,下面就介绍一下PHP过滤常用标签的正则表达式代码: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace

  • PHP 正则表达式常用函数

    1.preg_match() 函数原型:int preg_match (string $pattern, string $content [, array $matches]) preg_match ()函数在$content字符串中搜索与$pattern给出的正则表达式相匹配的内容.如果提供了$matches,则将匹配结果放入其 中.$matches[0]将包含与整个模式匹配的文本,$matches[1]将包含第一个捕获的与括号中的模式单元所匹配的内容,以此类推.该函数只 作一次匹配,最终返回

  • PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式

    在开发的过程中,经常会遇到需要给别人提供一个输入框,然后别人输入一些ID,或者关键字的东西,例如wordpress的后台的标签输入框: 这个就是只是判断英文状态下的逗号,要是有人不小心输入了中文状态下的逗号怎么办?小数点怎么办? 于是我就用正则写了一个表达式,把带有空格换行符之类的替换成逗号. 把提交的id带有空格换行符之类的替换成逗号,然后用explode函数切换成数组. 复制代码 代码如下: $ids=$_POST["ID"];$id= preg_replace("/(\

  • PHP正则表达式替换站点关键字链接后空白的解决方法

    标题这样不知道合适不合适.具体的情况是这样的:网站要增加关键字链接功能,然后需要对文章的内容进行正则表达式匹配并替换,然后使用了preg_replace函数.替换的程序代码如下: function ReplaceKeyword($linkDefs,$content){ $linkMap = array(); /*foreach($linkDefs as $row) { $linkMap[] = explode(',', $row); }*/ $linkMap = $linkDefs; //把原有

  • php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串

    复制代码 代码如下: $str="你好<我>(爱)[北京]{天安门}"; echo f1($str); //返回你好 echo f2($str); //返回我 echo f3($str); //返回爱 echo f4($str); //返回北京 echo f5($str); //返回天安门 function f1($str) { $result = array(); preg_match_all("/^(.*)(?:<)/i",$str, $res

  • php使用curl和正则表达式抓取网页数据示例

    利用curl和正则表达式做的一个针对磨铁中文网非vip章节的小说抓取器,支持输入小说ID下载小说. 依赖项:curl 可以简单的看下,里面用到了curl ,正则表达式,ajax等技术,适合新手看看.在本地测试,必须保证联网并且确保php开启curl的mode SpiderTools.class.php 复制代码 代码如下: <?php   session_start();  //封装成类 开启这些自动抓取文章   #header("Refresh:30;http://www.test.co

  • php过滤HTML标签、属性等正则表达式汇总

    $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)   $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p

  • 浅谈PHP正则表达式中修饰符/i, /is, /s, /isU

    在学习PHP正则表达式修饰符之前先来理解下贪婪模式,前面在元字符中提到过"?"还有一个重要的作用,即"贪婪模式",什么是"贪婪模式"呢? PHP正则表达式贪婪模式: 比如我们要匹配以字母"a"开头字母"b"结尾的字符串,但是需要匹配的字符串在"a"后面含有很多个"b",比如"a bbbbbbbbbbbbbbbbb",那正则表达式是会匹配第一个&qu

  • php用正则表达式匹配中文实例详解

    在php中汉字正则可能有些朋友觉得很简单,但是在使用时会发现在gbk编码与uft8编码可能会有点区别哦,下面小编来介绍一下.gbk编码下汉字正则 1.判断字符串是否全是汉字 复制代码 代码如下: <?php    $str = '全部是汉字测试';    if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) {        echo '全部是汉字';      } else {        echo '不

随机推荐