PHP preg_match正则表达式详解

开发 后端
PHP preg_match正则表达式的使用是如何的呢?PHP preg_match正则表达式的规则注意事项是什么呢?那么本文就向你详细介绍相关的内容。

PHP正则表达式规则匹配是什么呢?这就是PHP preg_match正则表达式的使用,那么对于PHP preg_match正则表达式我们需要注意什么呢?这里向你通过实例的使用向你详细介绍。

PHP preg_match正则表达式的使用:

利用 preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回 0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。在验证数据时这个功能可以变得非常有用 SUN JAVA Certification

  1. $string = "football";  
  2. if (preg_match('/foo/'$string)) {  
  3. // 匹配正确  

上面的例子将成功匹配,因为单词 football 里面包含 foo。现在我们来试一个更复杂的,例如验证一个 Email 地址。

  1. $string = "first.last@domain.uno.dos";  
  2. if (preg_match(  
  3. '/^[^0-9][a-zA-Z0-9_]+  
  4. ([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+  
  5. ([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',  
  6. $string)) {  
  7. // 验证Email地址  

这个例子将验证出此 Email 地址为正确格式。

PHP preg_match正则表达式的规则:

通过上面实例的演示我们来了解下这段正则表达式所代表的各种规则。

PCRE 顾名思义,与在 Perl 中的正则表达式有相同的语法,所以每段正则表达式必须要有一对定界符。我们一般使用 / 为定界符。

开头的 ^ 和结尾的 $ 让PHP从字符串开头检查到结尾。假使没有 $,程序仍会匹配到 Email 的末尾。

◆[ 和 ] 被用来限制许可输入类型。例如 a-z 允许所有的小写字母,A-Z 允许所有的大写字母,0-9 所有数字,等等,以及更多其他类型。

◆{ 和 } 被用来限制期望的字符数。例如 {2,4} 表示字符串的每一节可以有 2-4 字符长度,像是 .com.cn 或 .info。在这里, "." 并不算一个字符,因为 {2,4} 之前定义的许可输入类型只有大小写字母,故此段只匹配大小写字母

◆( 和 ) 被用来合并小节,并定义字符串中必须存在的字符。(a|b|c) 能够匹配 a 或 b 或 c。

◆(.) 将匹配所有字符,而 [.] 只匹配 "." 本身。

要使用一些符号本身,必须在前增加一个 。这些字符有:( ) [ ] . * ? + ^ | $

PHP preg_match正则表达式的相关内容就向你介绍到这里,希望对你了解和掌握PHP preg_match正则表达式有所帮助。

【编辑推荐】

  1. 浅析Perl正则表达式在PHP的实现
  2. 辨析PHP中Ereg正则表达式
  3. 浅析PHP正则表达式匹配的实现
  4. PHP正则表达式字符集的使用浅析
  5. 浅析PHP正则表达式匹配的特定实现
责任编辑:仲衡 来源: phpweblog.net
相关推荐

2009-11-26 18:00:46

PHP正则表达式pre

2009-05-22 11:38:55

PHPpreg_match_正则表达式

2009-11-27 13:53:43

PHP函数preg_m

2009-09-16 14:32:43

PHP正则表达式替换

2009-09-16 18:19:34

正则表达式组

2009-08-20 14:57:00

C#正则表达式

2011-05-11 17:40:30

PHP正则表达式

2009-09-16 16:22:04

正则表达式匹配

2009-09-16 17:29:30

正则表达式使用详解

2009-08-03 17:27:14

C#正则表达式

2009-11-30 17:02:13

PHP函数preg_m

2009-12-10 15:58:21

PHP preg_ma

2009-09-16 11:17:12

PHP正则表达式定位字

2009-09-16 10:59:24

PHP正则表达式元字符

2009-09-16 13:14:10

Ereg正则表达式

2009-09-16 11:08:39

PHP正则表达式特殊字

2018-09-27 15:25:08

正则表达式前端

2011-08-16 17:28:49

iPhone SDK正则表达式

2011-08-23 17:46:09

LUA正则表达式模式

2020-09-04 09:16:04

Python正则表达式虚拟机
点赞
收藏

51CTO技术栈公众号