正则表达式的语法规则

正则表达式描述了一种字符串匹配的模式,通过这个模式在特定的函数中对字符串进行匹配、查找、替换及分割等操作。正则表达式作为一个匹配的模板,是由原子(普通字符,例如字符a到z)、有特殊功能的字符(称为元字符,例如*、+和?等),以及模式修正符三部分组成的文字模式。一个最简单的正则表达式模式中,至少也要包含一个原子,如“/a/”。而且在与Perl兼容的正则表达式函数中使用的模式时,一定要给模式加上定界符,即将模式包含在两个反斜线“/”之间。一个HTML连接的正则表达式模式如下所示:

  ‘/<a.*?(?:|\\t|\\r|\\n)?href=[\‘"]?(.+?)[\‘"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim’      //匹配连接的正则

  在网页中任何HTML有效的连接标签,都可以和这个正则表达式的模式匹配上。该模式就用到了编写正则表达模版的原子、元字符和模式修正符三个组成部分,将其拆分后如下所示。

  ★定界符使用的是两个斜线“/”,将模式放在它之间声明。

  ★原子用到了<、a、href、=、’、”、/、>等普通字符和\t、\r、\n等转义字符。

  ★元字符使用了[]、()、|、.、?、*、+等具有特殊含义的字符。

  ★用到的模式修正符是在定界符最后一个斜线之后的三个字符“s”、“i”和“m”。

  对于原子、元字符,以及模式修正符的使用将在后面详细介绍。首先编写一个示例,了解一下正则表达式的应用。通过PHP中给我们提供的preg_match()函数,将上例中定义的正则表达式。该函数有两个必选参数,第一个参数需要提供用户编写的正则表达式模式,第二个参数需要一个字符串。该函数的作用就是在第二个字符串参数中,搜索第一个参数给正确表达式匹配的内容。如果匹配成功则返回真。代码如下所示:


1

2

3

4

5

6

7

8

9

10

11

<?php

    $pattern=‘/<a.*?(?:|\\t|\\r|\\n)?href=[\‘"]?(.+?)[\‘"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim‘;

    $content="请单击进入<a href=‘http://php.ncong.com‘>恩聪PHP</a>学习博客。";

    //使用preg_match()函数进行正则表达式的模式匹配

    if(preg_match($pattern,$content)){

        echo "成功匹配,在第二个参数中包含有效的HTML连接标签字符串。";

    }else{

        echo "在第二个参数的字符串中搜索不到有效的HTML连接标签。";

    }

?>

  在上面的代码中,使用正则表达式的语法规则,定义个一匹配HTML中连接标签的模式并存放在变量$pattrn中。又顶一个字符串变量$content,在字符串中如果包含有效的HTML连接标签,则使用preg_match()函数时,就可以按$pattrn模式所定义的格式搜索到连接标签。

>> 本文固定链接: http://php.ncong.com/php_course/php_zend/regex-regular.html

>> 转载请注明: 恩聪php 2014年07月31日 于 恩聪PHP学习教程 发表

正则表达式的语法规则,布布扣,bubuko.com

时间: 2024-10-29 10:45:35

正则表达式的语法规则的相关文章

Java正则表达式之语法规则

[转]Java正则表达式之语法规则 正则表达式是一种强大而灵活的文本处理工具,使用正则表达式能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索.一旦找到了匹配这些模式的部分,就能够随心所欲地它们进行处理.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题:匹配.选择.编辑以及验证. 首先看一下JAVA中正则表达式的完整构造集,也可以参考java.util.regex.Pattern中的API说明. 字符 X 字符X \\ 反斜线字符 \0n 带有八进制值0的字符n(

php中正则表达式的语法规则

正则表达式的语法和使用说明

正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规则)的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成"regex",单数有regexp.regex,复数有regexps.r

正则表达式语法规则

一.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束.例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等):"of despair$":表示所以以"of despair"结尾的字符串:"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"

正则表达式基本语法应用详解

1.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束.例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等): "of despair$":表示所以以"of despair"结尾的字符串: "^abc$":表示开始和结尾都是"abc"的字符串--呵呵,只有&qu

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

正则表达式基本语法

1.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束.例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等):"of despair$":表示所以以"of despair"结尾的字符串:"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"

(转)Java正则表达式的语法与示例

转自:http://www.cnblogs.com/lzq198754/p/5780340.html 概要: Java正则表达式的语法与示例 | |目录 1匹配验证-验证Email是否正确 2在字符串中查询字符或者字符串 3常用正则表达式 4正则表达式语法 1匹配验证-验证Email是否正确 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public static void main(String[] args) {     // 要验证的字符串     

(基础篇)正则表达式的语法汇总与详细介绍

用好正则表达式往往会起到事半功倍的效果,以下是对PHP正则表达式的语法汇总和详细介绍. 首先,让我们看看两个特别的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 "^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配