PHP 常用正则表达式整理

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

本文整理了常用的正则表达式以供参考,尽管以下正则表达式已经一一经过验证,但难免有所纰漏,大家在使用时还需要仔细验证。表单验证匹配验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-zA-Z0-9_]{4,15}$验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z A-Z]$验证账号,不能有空格,不能非数字:^\d+$验证用户密码,以字母开头,长度在 6-18 之间:^[a-zA-Z]\w{5,17}$验证是否含有 ^%&',;=?$\ 等字符:[^%&',;=?$\x22]+匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配腾讯QQ号:[1-9][0-9]{4,}匹配日期,只能是&n......

阅读全文»

PHP 正则表达式分割 preg_split 与 split 函数

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

preg_split()preg_ split() 函数用于正则表达式分割字符串。语法:array preg_split( string pattern, string subject [, int limit [, int flags]] )  返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。参数说明:参数说明pattern正则表达式subject需要匹配分割的对象limit可选,如果指定了 limit ,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用......

阅读全文»

PHP 正则表达式替换 preg_replace 函数

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

正则替换preg_replace() 函数用于正则表达式的搜索和替换。语法:mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit ] )  参数说明:参数说明pattern正则表达式replacement替换的内容subject需要匹配替换的对象limit可选,指定替换的个数,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换补充说明replacement 可以包含 \\n 形式或 $n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第&nbs......

阅读全文»

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于:正则匹配:根据正则表达式匹配相应的内容正则替换:根据正则表达式匹配内容并替换正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数。二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例子说明。定界符Perl 兼容模式的正则表达式函数,其正则表达式需要写在定界符中。任何不是字母、数字或反斜线()的字符都可以作为定界符,通常我们使用 / 作为定界符。具体使用见下面的例子。提示尽管正则表达式功能非常强大,但如果用普通字符串处理函......

阅读全文»

PHP 正则表达式语法(二)

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

重复正则表达式的威力在于其能够在模式中包含选择和循环,正则表达式用一些重复规则来表达循环匹配。常用的重复如下:重复说明*重复零次或更多次+重复 1 次或更多次?重复零次或 1 次{n}重复 n 次{n,}重复 n 次或更多次{n,m}重复 n 到 m 次分枝分枝是指制定几个规则,如果满足任意一种规则,则都当作匹配成功。具体来说就是用 | 符号把各种规则分开,且条件从左至右匹配。提示由于分枝规定,只要匹配成功,就不再对后面的条件加以匹配,所以如果你想匹配有包含关系的内容,请注意规则的顺序。下面是一个使用分枝的例子。美国的邮政编码的规则是 5 个数字或者 5 个数字连上 4 个数字,如 ......

阅读全文»

PHP 正则表达式语法(一)

发表时间:2012-08-25     分类:PHP    标签: 正则表达式 

正则表达式简介在某些应用中,往往有时候需要根据一定的规则来匹配(查找)确认一些字符串,如要求用户输入的 QQ 号码为数字且至少 5 位。用于描述这些规则的工具就是正则表达式。最简单的匹配最简单的匹配就是直接给定字符匹配。如用字符 a 去匹配 aabab ,则会匹配出 3 个结果,分别是字符串中的第 1,2 和第 4 个字符。这种匹配是最简单的情况,但往往实际处理中会复杂得多,如下面的 “QQ号码为数字且至少5位” ,其对应的正则表达式为:^\d{5,}$ 该正则表达式就描述需要确定的内容为至少 5 位以上的数字。我们来具体看看该表达式是怎么描述这一规则的:^:表示匹配字符串的开始,也即该字符串是独立的开始而不是......

阅读全文»

mysql分区功能详细介绍,以及实例

发表时间:2012-08-24     分类:Mysql    标签: mysql分区 

一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。分区的二种方式1,横向分区什么是横向分区呢?就是横着来分区了,举例来说明一下,假如有100W条......

阅读全文»

mysql分表,分区的区别和联系

发表时间:2012-08-24     分类:Mysql    标签: mysql分区 mysql分表 

一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例二,mysql分表和分区有什么区别呢1,实现方式上a),mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表,都对应三个文件,一个.MYD数据文件,.MYI索引文件,.frm表结构文件。[root@BlackGhost test]# ls |grep user  alluser.MRG  alluser.frm  user1.MYD  user1.MYI  user......

阅读全文»

mysql分表方法(转)

发表时间:2012-08-24     分类:Mysql    标签: mysql分区 

一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为了保证数据的完整性,我举个例子来说吧,如果有二个sql都要修改同一张表的同一条数据,这个时候怎么办呢,是不是二个sql都可以同时修改这条数据呢?很显然mysql对这种情况的处理是,一种是表锁定(myisam存储引擎),一个是行锁定(innodb存储......

阅读全文»

PHP 完美实现GIF动画缩略图(转)

发表时间:2012-08-09     分类:PHP    标签: 缩略图 

缩略图是个很常用的功能。它的实现并不复杂,但如果原图是GIF动画的话,问题就会变得繁琐一点,下面通过一个取自CS警匪游戏的GIF动画来说明问题:old.gif为了让问题更加清晰,我们先还原动画各帧:选择一:用PHP中的Imagick模块:<?php $image = new Imagick('old.gif'); $i = 0; foreach ($image as $frame) {     $frame->writeImage('old_' . $i++ . '.gif'); } ?>选择二:用ImageMagick提供的co......

阅读全文»

  • 10 篇文章 1/1 页