正则表达式简介

初次接触正则表达式的读者除了感觉它有些繁琐外,还会有一种深不可测的感觉。其实正则表达式就是描述字符排列模式的一种自定义的语法规则,在PHP给我们提供的系统函数中,使用这种模式对字符串进行匹配、查找、替换及分割等操作。它的应用非常广泛。例如,常见的使用正则表达式去验证用户在表单中提交的用户名、密码、E-mail地址、身份证号码及电话号码等格式是否合法;在用户发布文章时,将输入有URL的地方全部加上对应的连接;按所有标点符号计算文章中一共有多少个句子;抓取网页中某种格式的数据等。正则表达式并不是PHP自己的产物,在很多领域都会见到它的应用,正则表达式并不是PHP自己的产物,在很多领域都会见到它的应用,除了在perl、C#及Java语言中应用外,在我们的B/S架构软件开发中,Linux操作系统、前台JavaScript脚本、后台脚本PHP及MySQL数据库中都可以用到正则表达式。

正则表达式也称为模式表达式,自身具有一套非常完整的、可以编写模式的语法体系,提供了一种灵活且直观的字符串处理方法。正则表达式通过构建具有特定规则的模式,与输入的字符串信息比较在特定的函数中使用从而实现字符串的匹配、查找、替换及分割等操作。下例中给出了三个模式,都是按照正则表达式的语法规则构建的。如下所示:


1

2

3

"/[a-zA-z]+://[^\s]*/" //匹配网址URL的正则表达式

"/<(\S*?)[^>]*>/*?</\1>|<.*?/>/i" //匹配HTML标记的正则表达式

"/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w)*/" //匹配E-mail地址的正则表达式

不要被上例中看似乱码的字符串给吓退,它们就是按照正则表达式的语法规则构建的模式,是一种由普通字符和具有特殊功能的字符组成的字符串。而且要将这些模式字符串,放在特定的正则表达式函数中使用才有效果。

在PHP中支持两套正则表达式的处理函数库。一套是由PCRE库提供的,与Perl语言兼容的正则表达式函数。使用以“preg_”为前缀命名的函数,而且表达式都应被包含在定界符中,如斜线(/)。另一套是由POSIX扩展语法的正则表达式函数,使用以“ereg_”为前缀命名的函数。两套函数库的功能相似,执行效率稍有不同。一般而言,实现相同的功能,使用第一种PCRE库提供的正则表达式效率略占优势。所以本文中主要介绍使用“preg_”为前缀命名的正则表达式函数。

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

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

正则表达式简介,布布扣,bubuko.com

时间: 2024-10-03 19:13:11

正则表达式简介的相关文章

刨根究底正则表达式之一——正则表达式简介

声明: 本系列文章的主要参考书有: <精通正则表达式>英文版及中文版 作者: Jeffrey E·F·Friedl 译者:余晟 电子工业出版社 2012-07 <正则指引>作者:余晟 电子工业出版社 2012-05 <正则表达式必知必会>作者:Ben Forta 译者:杨涛 人民邮电出版社2015-01 <冒号课堂:编程范式与OOP思想>作者:郑晖 电子工业出版社 2009-10 同时,还参考了网上的大量资料,除了少部分资料由于未作大量修改(但基本上也有少量

Python正则表达式简介

Python正则表达式简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 就其本质而言,正则表达式(或RE模块)是一种小型的,高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过re模块实现.正则表达式模式被编译成一系列的字节码,然后由C编写的匹配引擎执行. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8542361.html

正则表达式 - 简介

正则表达式 - 简介 除非您以前使用过正则表达式,否则您可能不熟悉一些术语.但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念. 例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件.? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符.像 data(\w)?.dat 这样的模式将查找下列文件: data.dat data1.dat data2.dat datax.dat dataN.dat 使用 * 字符代替 ? 字符扩大了找到的文件的数量.data*.

JS的正则表达式简介

1.JS的正则表达式 1.1 简介 JS的正则表达式比较简单,总体上只分为两个功能:一个是test--用于匹配字符串是否符合规定的正则表达式规则:另外一个是exec--用于获取匹配到的数据. 1.2 test介绍 我们利用/.../生成正则表达式的对象,例如我们想匹配包含数字0-9可以这样定义: rep = /\d+/ 然后调用test方法即可: rep.test('abcd123vdsd345'); 结果为: 注意默认情况下这个字符串只要包含数字就返回true. 但是如果我们想匹配字符串中必须

Java连载74-字符串常用方法、正则表达式简介

一.字符串相关的常用方法简介? package com.bjpowernode.java_learning; ? public class D74_1_StringCommonMethod { public static void main(String[] args) { //1.转为大写 System.out.println("Abhdugfi".toUpperCase()); //2.转换为小写 System.out.println("AHUJGjhid".t

正则表达式简介及应用

 每次一遇到过滤字符串之类的事情,就傻了....正则很高效,故此做个记录. 除非您以前使用过正则表达式,否则您可能不熟悉此术语.但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念. 示例 例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件.通配符匹配文件名中的单个字符,而 * 通配符匹配零个或多个字符.像 data?.dat 这样的模式将查找下列文件: data1.dat data2.dat datax.dat dataN.dat 使用 * 字符代替 ? 字符扩大了找到的文件的

PHP正则表达式简介

PHP支持两种风格的正则表达式语法:POSIX和Perl.POSIX风格的正则表达式更容易掌握,但不能安全用于二进制模式,而Perl兼容的正则表达式相对比较复杂. 正则表达式就是有普通字符(如a~z)和特殊字符(称为元字符)组成的字符串模式.使用正则表达式可以完成以下功能:①测试字符串的某个模式:②替换文本:③根据模式匹配从字符串中提取一个子字符串. 一.POSIX风格的正则表达式 1.编写正则表达式 正则表达式是有普通字符和元字符组成的,通过元字符和普通字符的不同组合,可以写出不同意义的正则表

javascript正则表达式简介

javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String和RegExp都定义了使用正则表达式进行强大的模式匹配.文本检索和替换的函数: 正则表达式主要用来验证客户端的输入数据: Ⅰ.创建正则表达式 类似于创建字符串,可以使用new运算符也可以采用字面值: 参数 含义 g 全局匹配 i 忽略大小写 m 多行匹配 下文中的javascript代码是通过 Ecli

正则表达式简介及在C++11中的简单使用

正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex.regexp.RE.regexps.regexes.regexen. 正则表达式是一种文本模式.正则表达式是强大.便捷.高效的文本处理工具.正则表达式本身,加上如同一门袖珍编程语言的通用模式表示法(general pattern notation),赋予使用者描述和分析文本的能力.配合上特定工具提供的额外支持,正则表达式能够添加.删除.分离.叠加.插入和修整各种类型的文本和数据. 完